括號之前匹配我有這樣的:如何與前瞻
aaa(bbb)
其中我匹配(bbb)
使用這樣的:
\(.*?\)
我現在想匹配aaa
所以我嘗試了「積極的預測先行斷言」 。這不起作用。
(\(.*?\))(?=\()
我該如何匹配(
之前的字母?
括號之前匹配我有這樣的:如何與前瞻
aaa(bbb)
其中我匹配(bbb)
使用這樣的:
\(.*?\)
我現在想匹配aaa
所以我嘗試了「積極的預測先行斷言」 。這不起作用。
(\(.*?\))(?=\()
我該如何匹配(
之前的字母?
試試這個,
.*(?=\()
使用RegexBuddy截圖
爲什麼不簡單地匹配/(aaa)(\(bbb\))/
然後提及您的匹配$1
和$2
?
在我看來,你實際上並不需要向前看。你可以使用[^(]*
匹配一切之前的第一(
^([^(]*)
要獲得和()
的內容,添加您exsiting (.*?)
捕獲組。
^([^(]*)\((.*?)\)
(\(.*?\))(?=\()
^^ ^^
這些執行 「AAA」,以用括號括起來(其中後殼走過了開幕托架)。你似乎想要
/(.+?)(?=\(.*?\))/
有沒有一個原因,你不是簡單地使用'^ [^(] *'? –