我正在努力争取正确的搜索词正确
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有关,但不确定是什么。
答案 0 :(得分:1)
第二个\b
是错误的,因为此锚点与非单词字符的事务匹配到单词字符,反之亦然(\W
- &gt ; \w
或\w
- > \W
)
在您的模式中,您有代码段\%\b
。字符%
不是单词字符(下一个字符也不是),因此锚字边界(\b
)永远不会匹配
我认为删除它会很有效...参见示例here
\bDESC\s\+\s7\%
答案 1 :(得分:1)
你必须在最后设置一个上限:
\bDESC \+ 7\%\B
示例:
您不能在正则表达式字符串的末尾使用\ b,因为%字符不是单词字符。 当您搜索没有%字符的“DESC + 7”时,您可以使用正则表达式字符串。