想象一下,您正在尝试模式匹配“ stackoverflow”。
您需要以下内容:
this is stackoverflow and it rocks [MATCH]
stackoverflow is the best [MATCH]
i love stackoverflow [MATCH]
typostackoverflow rules [NO MATCH]
i love stackoverflowtypo [NO MATCH]
我知道如何解析出stackoverflow,如果它在两个站点上都有空格,则使用:
/\s(stackoverflow)\s/
与它在字符串开头或结尾处相同:
/^(stackoverflow)\s/
/\s(stackoverflow)$/
但是,如何使用正则表达式指定“空格或字符串结尾”和“空格或字符串开头”?
您可以使用以下任何一种:
\b #A word break and will work for both spaces and end of lines.
(^|\s) #the | means or. () is a capturing group.
/\b(stackoverflow)\b/
另外,如果您不想在比赛中加入空格,则可以使用向前/向后搜索。
(?<=\s|^) #to look behind the match
(stackoverflow) #the string you want. () optional
(?=\s|$) #to look ahead.
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句