需要一些正则表达式的帮助
我正在尝试匹配一个落在较大字符串的乞讨或结尾的字符串,或者跟随或后面跟着空格。或者两者的任意组合。
(基本上我想找到一个特定的字符串,但只有当它不是另一个单词或短语的一部分时才匹配。如果我搜索的字符串是“IE”我不想匹配“是”在“区域”一词中,因此搜索字符串的开头或结尾,或者跟随或后面跟着空格。)
以下是我现在所拥有的:
re.compile('^(%(string)s)$|\s(%(string)s)$|^(%(string)s)\s|\s(%(string)s)\s' % {'string': my_string})
使用两个|是否有一种不那么冗长的写法。一个在开始或空白的边缘,一个在结束或空白的一端?
现在写我正在写出开始选项*结束选项的每个排列,并认为其效率较低。
答案 0 :(得分:3)
使用\b
s
\bstring\b
\b
匹配单词边界,重要的是“零宽度”(不消耗任何字符)