0
我遇到了很多麻煩寫這個正則表達式:無限量詞回顧後
(?<=\s+|^\s*|\(\s*|\.)(?:item|item1|item2)(?=\s+|\s*$|\s*\)|\.)
它非常好對我正則表達式編輯器(快報),並在.NET環境中,但在Java環境(使用Eclipse Helios R2的JRE 1.6.0.25)不起作用,因爲Pattern.compile()
方法會引發「語法錯誤U_REGEX_LOOK_BEHIND_LIMIT」異常。
這是因爲模式(?<=\s+|^\s*|\(\s*|\.)
後面的外觀必須有一個定義的限制(無限量詞如*
和+
在這裏是不允許的,據我所知)。
我也試過,沒有運氣指定這樣重複的範圍:
(?<=\s{0,1000}|^\s{0,1000}|\(\s{0,1000}|\.)(?:item|item1|item2)(?=\s+|\s*$|\s*\)|\.)
所以,我怎麼能寫的作品甚至在Java環境相同的正則表達式? 我不敢相信這種常見的情況沒有解決方法....
非常感謝您的幫助!我試過你的正則表達式,它似乎很好!我必須改變我的方法,並在編寫lookaround正則表達式代碼時付出更多注意力......您的幫助非常有用! – GiveEmTheBoot