我想在整個比賽中搜索String
。換句話說,如果String s = "I am coding"
,我輸入,我正在尋找"am"
什麼都不應該返回。我需要確切的字符串才能得到一個匹配。換句話說,我必須準確輸入"I am coding"
才能返回比賽。任何人都知道如何使用Java正則表達式測試整個字符串的匹配?
我需要這個正則表達式模式,因爲我使用的是RowFiler.regexFilter(...)
。
我想在整個比賽中搜索String
。換句話說,如果String s = "I am coding"
,我輸入,我正在尋找"am"
什麼都不應該返回。我需要確切的字符串才能得到一個匹配。換句話說,我必須準確輸入"I am coding"
才能返回比賽。任何人都知道如何使用Java正則表達式測試整個字符串的匹配?
我需要這個正則表達式模式,因爲我使用的是RowFiler.regexFilter(...)
。
你試過這個:^I am coding$
?
+1 - 這是在javadoc中描述的解決方案:http://download.oracle.com/javase/6/docs/api/javax/swing/RowFilter.html#regexFilter(java.lang.String,% 20int ...) – 2011-04-06 02:14:51
是的,這個解決方案的工作。 :)但是,當我使用匹配postion而不是實際字符的正則表達式時,我遇到了使用它並使JTable更新的問題。 – 2011-04-06 02:19:31
正則表達式,如果它不包含要轉義的字符,就像你正在尋找的那樣:任何字符自身和下一個字符表示串聯。所以,在這種情況下,"\AI am coding\z"
是你的答案..
對不起,我想我應該澄清。我意識到在整個刺痛中打字會得到回報。但是現在,當我輸入字符串的一個單詞時,我就會得到一個匹配 - 這是我不想要的。因此,如果我正在尋找冰淇淋店,並輸入「Baskin」,那麼Baskin Robbins就不應該出現。謝謝。 :) – 2011-04-06 02:14:33
我的確在嘗試與\ A和\ Z,但有問題,所以我試圖找到確切的正則表達式。 – 2011-04-06 02:16:03
對事物的正則表達式的一面:使用字符串錨^
和字符串錨$
結束之初開始和搜索模式的結尾
(分別),以確保搜索字符串不包含任何東西(即它等於你想匹配的模式正則表達式:
^I am Coding$
爲什麼你需要使用正則表達式嗎?使用String.equals()。 – bdares 2011-04-06 02:09:47
呃,「模式」只是整個字符串,左右兩個錨; '「^這是我的字符串$」' – 2011-04-06 02:10:53
@bdares:他需要使用它的方法'RowFilter.regexFilter(...)'它接受正則表來過濾行的表.. – Jack 2011-04-06 02:13:07