c# Regex用元字符匹配整个单词
本文关键字:单词 字符 Regex | 更新日期: 2023-09-27 18:05:50
我有点挣扎,以获得正确的正则表达式为搜索词
DESC + 7%
在我的源数据中:
DESC SFD (HZ)
WGT. 15,000 LENGTH 15.00
LDWGT. 22,000 BBDESC + 7%o
GWGT 37,000 ABAB
DESC + 7% 39,590 LLL
QA SS SDB
我可以看到我需要转义+和%,我只想匹配整个单词,而不是当它是另一个单词的一部分时。
这是我当前的正则表达式字符串,但它似乎不匹配?
'bDESC '+ 7'%'b
有人知道为什么吗?
你必须在末尾设置一个大写的B:
'bDESC '+ 7'%'B
的例子:
- 在字符串"ADESC + 7%Z"的结果是"
- 在字符串"DESC + 7%"的结果是"DESC + 7%"
不能在正则字符串的末尾使用'b,因为% character不是单词字符。当你搜索没有%字符的"DESC + 7"时,你可以使用你的正则字符串
第二个'b
是错误的,因为该锚匹配非单词字符到单词字符的事务,反之亦然 ('W
-> 'w
或'w
-> 'W
)
在您的模式中有代码片段'%'b
。字符%
不是单词字符(下一个字符也不是),因此锚单词边界 ('b
)在这里永远不会匹配。
我想只要把它去掉就行了…请看这里的例子
'bDESC's'+'s7'%