2011-10-23 55 views

回答

4

/(?<!\|)\]/是你需要的正則表達式。

?<!是一個零寬度斷言,也被稱爲「消極後顧」。這實際上意味着匹配],但「看後面」並斷言前一個字符不是一個|

+0

是否在Java中,這正則表達式的工作? – user941401

+0

@ user941401是:http://download.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html – NullUserException

+0

@NullUserExceptionఠ_ఠ你不需要雙重轉義|和]? – FailedDev

1

非常簡單:[^|]\]

如果你也想匹配[在字符串的開頭,使用(^|[^|])\]

+1

不匹配字符串'「]」「。 – Amber

+0

@Amber:我已經修復了 – SLaks

+0

'(^ | [^ |])\ ['那是一些瘋狂的正規男人。 – sln

2
/(?<!\|)\]/ 

使用負回顧後。

對於Java:

Pattern regex = Pattern.compile("(?<!\\|)\\[");