我正在尝试使用\b
例如
我希望匹配abcde
这个词
在字符串xyz abcde ddd
和xyz abcde.html ddd
中。我正在使用正则表达式\babcde\b
,我想要的是仅匹配第一个字符串而不匹配第二个字符串,因为它包含abcde.html
。但是这个正则表达式匹配它们。
如何达到我想要的效果?
答案 0 :(得分:1)
您可以使用否定前瞻来避免匹配任何abcde
后跟句点和字母数字:
\babcde\b(?!\.\w+)
请参阅demo
(?!\.\w+)
否定前瞻进行检查,但不会考虑周期和字母数字的存在,如果它们存在,则不返回任何匹配。您可以将\w+
替换为\S+
(1个或多个非空格字符),使其更通用。
答案 1 :(得分:1)
答案 2 :(得分:0)
\ babcde(?=。*?\ b)中 展望未来就是您所需要的。 我马上就用测试链接做一个例子。
编辑:if by" second string"你的意思是" .html"部分然后这个答案将有效。但如果你的意思是第二个字符串" xyz abcde.html ddd"然后stribizhev有正确的答案。