Skip to main content
 首页 » 编程设计

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

2024年02月01日30mayingbao

现在我需要一些正则表达式专家的帮助,因为我通常会尽可能避免使用它们。我在 sql-server 查询中需要它,除了使用正则表达式我看不到任何其他选项。

此文本必须匹配:

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

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

  • 案例编号
  • 商誉

在它之前必须有1-。我可以使用这个 sql 查询:

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

但问题是,如果在 1 之前有另一个数字使其成为不同的数字,它也会匹配。所以在 1 之前可以有任何字母但不能有数字。

这就是我的 ried without success :

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

C# 标签,因为我使用的是 C# SqlFunction对于正则表达式。

请您参考如下方法:

我想你可以使用正常的LIKE :

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

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