繁体   English   中英

正则表达式检查文本是否包含两个单词之一和前面的数字

[英]Regex to check if text contains one of two words and preceding number

现在,我需要一些正则表达式专业人士的帮助,因为如果可能的话,我通常会尽量避免使用它们。 我在sql服务器查询中需要它,除了使用正则表达式外,我看不到任何其他选项。

此文本必须是匹配项:

####:;Approval:;EC 33/37:1-  goodwill validation

因为它包含那些子字符串之一

  • 案例ID
  • 善意

并且在它之前必须有1- 我可以使用此sql查询:

WHERE d.REMARKS LIKE '%1-%CASEID%' OR d.REMARKS LIKE '%1-%Goodwill%'

但是问题在于,如果在1之前还有另一个数字,则它也将匹配,从而使它成为另一个数字。 因此,在1之前可以有任何字母,但没有数字。

这是我尝试没有成功的事情:

.*[^0-9]1-.*(CASEID|Goodwill).*

C#标记,因为我将C# SqlFunction用于正则表达式。

我认为您可以使用普通的LIKE

LIKE '%[^0-9]1-%CASEID%'

缺点是假设1不是第一个字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM