命令
re.compile(ur"(?<=,| |^)(?:next to|near|beside|opp).+?(?=,|$)", re.IGNORECASE)
抛出一个
sre_constants.error: look-behind requires fixed-width pattern
错误,但regex101表示没问题。
我在这里尝试做的是匹配来自地址的地标(每个地址都在一个单独的字符串中),如:
后视是为了避免将单词与opp
匹配(如字符串3中所示)。
为什么会抛出这个错误?是否有替代我正在寻找的东西?
答案 0 :(得分:4)
re.compile(ur"(?:^|(?<=[, ]))(?:next to|near|beside|opp).+?(?=,|$)", re.IGNORECASE)
您可以使用3
和[]
加入|
条件。请参阅演示。
答案 1 :(得分:0)
将re.findall
与下面的正则表达式一起使用,因为如果有任何捕获组出现,re.findall
必须返回捕获组中的内容。
re.compile(ur"(?m)(?:[, ]|^)((?:next to|near|beside|opp).+?)(?:,|$)", re.IGNORECASE)