2012-11-10 91 views
5

這是一個正則表達式的具體問題..Java的正則表達式匹配。如果不按關鍵字

之前我需要一個正則表達式,可以找到某個關鍵字。例ABCDE 但是,如果某些字符前面這應該不匹配關鍵字。實施例]

所以...在這樣的線,它應該只匹配加粗部分..

[[TestChannel] ABCDE:這是一個測試ABCDE

編輯: 我一直在這裏嘗試的東西.. http://gskinner.com/RegExr/

到目前爲止,我曾嘗試..

(!]])(ABCDE) 
((!]])ABCDE) 
(!]])!(ABCDE) 
((!]])|ABCDE) 

解決方案: 從Pshemo評論鏈接幫助 - > http://www.regular-expressions.info/lookaround.html#lookbehind

(?<!]])ABCDE 
+1

嗨Prathamesh,你有什麼嘗試?正如你所看到的,StackOverflow不是一個委託你工作的地方(在你的問題中「我需要」)。 – Augusto

+0

嗨,對不起,以前沒有添加更多的信息.​​.在編輯他們的問題..我會谷歌更多,直到然後.. 我曾嘗試了一些,但他們沒有工作..我一直試圖幫助一定一羣社區中的版主設置他們的聊天過濾器來查找特定的關鍵字列表。 –

+3

您可能想要[lookbehind](http://www.regular-expressions.info/lookaround.html#lookbehind)機制,但閱讀還關於其[限制](http://www.regular-expressions.info/lookaround.html#limitbehind)。 – Pshemo

回答

7
(?<!]])ABCDE 

感謝Pshemo的鏈接。

+0

請問您可以添加此回答您的原始問題?這會讓其他人更容易快速找到您的解決方案。 – Jonatan

+0

完成,謝謝你的建議。 –

+0

@PrathameshGharat如果這個答案解決了問題中所描述的問題,那麼它就被接受了。雖然它不會給你+2代表(這是你自己的答案),但它可以幫助未來的SO用戶。怎麼樣?想一想,當你在尋找可以用來解決問題的問題時,你會首先閱讀哪一個問題:有沒有被接受的答案:)? – Pshemo