0
我有語法解析文本字符串:Python的正則表達式,兩個負前瞻陳述
s = 'ROOT (S (VP (VP (VB the) (SBAR (S (NP (DT same) (NN lecturer)) (VP (VBZ says)'
我想匹配「同」爲s。它的關鍵是「的」和「同」只有當語法標記(分離即(,NP,S等)所以,「同」不應該覺得在S2匹配匹配:
s2= 'ROOT (S (VP (VP (VB the) (SBAR (S (NP (DT lecturer) (NN same)) (VP (VBZ says)'
我已經嘗試了雙重否定前向斷言無濟於事:
>>>rx = r'the(?![a-z]*)same(?![a-z]*)'
>>>re.findall(rx,s)
[]
的想法是match'the」不跟時小寫字母,然後匹配‘相同’時,不跟小寫字符
。有沒有人有更好的方法?
正則表達式不擅長解析嵌套結構。由於您似乎不關心嵌套,因此您的具體示例可能已足夠。 –
對,嵌套結構不是問題。當試圖將'相同'與字符串'ABCD123sameEFG456' – Renklauf