regex 正则表达式应忽略标点符号等特殊字符

3okqufwl  于 2023-04-13  发布在  其他
关注(0)|答案(1)|浏览(120)

我需要一个正则表达式,检查一个单词是否存在于字符串中(整个单词应该只存在,而不是单词中的子字符串)

Let a = “ raju’s shoes are black”
Let x = “are”
Let regex = new regex(“//b”+x+”//b”)
regex.test(a).  // returns true which is expected

如果x是“s”,regex.test(a)返回true,但实际上应该是false,因为s不是字符串a中的单独单词,但regexexp是这样处理的
我怎样才能修正正则表达式,使正则表达式可以忽略这些特殊字符,或者只考虑单词之间的空格作为新单词

xqnpmsa8

xqnpmsa81#

你可以使用负的lookaheadlookbehind

(?<!\S)are(?!\S)

如果单词被空格或行边界包围,则匹配。它相当于(?<=\s|^)are(?=\s|$)
演示here

相关问题