我使用一个名为findlist
的函数返回文本中某个字符串的所有位置的列表,并使用regex查找单词边界。但是我想忽略字符(
,只考虑其他单词的边界,这样它将在var split
中找到split
,而不是在split(a)
中。有什么办法吗?你知道吗
import re
def findlist(input, place):
return [m.span() for m in re.finditer(input, place)]
str = '''
var a = 'a b c'
var split = a.split(' ')
'''
instances = findlist(r"\b%s\b" % ('split'), str)
print(instances)
您可以检查尾随单词边界后面是否有一个
(
和一个负的lookahead(?!\()
:在找到整个单词后,
(?!\()
将触发,如果在找到的单词的右边有一个(
,匹配将失败。你知道吗参见Python demo:
相关问题 更多 >
编程相关推荐