我有這樣的代碼,以查找文本:)
和:(
:空間正則表達式中
for match in re.finditer(r':\)|:\(', ":) :):(:) :("):
print match.span()
,給我這樣的回答:
(0, 2)
(3, 5)
(5, 7)
(8, 10)
(12, 14)
它的工作原理,但我需要它給我只有那些單詞是單獨的(旁邊沒有其他字符)所以答案是:
(0, 2)
(8, 10)
(12, 14)
我嘗試添加\b
但沒有得到答案
這是添加(x)與模式
for match in re.finditer(r'(?<![\w()]):(?:\)|\()(?![\w:])', ":) :):(:) :( (x)"):
print match.span()
顯示了一種情形:
(0, 2)
(8, 10)
(12, 14)
ANS我想
(0, 2)
(8, 10)
(12, 14)
(16, 19)
我得到了' v#無效表達式請仔細閱讀我的問題,我編輯了一下,解釋得更好一些。 – Andres
@Andres糟糕,我幾乎總是忘記了Python不支持可變寬度lookbehind ...我修復了這個部分,我確實考慮過編輯。 – Jerry