2011-04-06 46 views
0

我想在整個比賽中搜索String。換句話說,如果String s = "I am coding",我輸入,我正在尋找"am"什麼都不應該返回。我需要確切的字符串才能得到一個匹配。換句話說,我必須準確輸入"I am coding"才能返回比賽。任何人都知道如何使用Java正則表達式測試整個字符串的匹配?

我需要這個正則表達式模式,因爲我使用的是RowFiler.regexFilter(...)

+2

爲什麼你需要使用正則表達式嗎?使用String.equals()。 – bdares 2011-04-06 02:09:47

+1

呃,「模式」只是整個字符串,左右兩個錨; '「^這是我的字符串$」' – 2011-04-06 02:10:53

+0

@bdares:他需要使用它的方法'RowFilter.regexFilter(...)'它接受正則表來過濾行的表.. – Jack 2011-04-06 02:13:07

回答

5

你試過這個:^I am coding$

+0

+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

+0

是的,這個解決方案的工作。 :)但是,當我使用匹配postion而不是實際字符的正則表達式時,我遇到了使用它並使JTable更新的問題。 – 2011-04-06 02:19:31

2

正則表達式,如果它不包含要轉義的字符,就像你正在尋找的那樣:任何字符自身和下一個字符表示串聯。所以,在這種情況下,"\AI am coding\z"是你的答案..

+0

對不起,我想我應該澄清。我意識到在整個刺痛中打字會得到回報。但是現在,當我輸入字符串的一個單詞時,我就會得到一個匹配 - 這是我不想要的。因此,如果我正在尋找冰淇淋店,並輸入「Baskin」,那麼Baskin Robbins就不應該出現。謝謝。 :) – 2011-04-06 02:14:33

+0

我的確在嘗試與\ A和\ Z,但有問題,所以我試圖找到確切的正則表達式。 – 2011-04-06 02:16:03

1

對事物的正則表達式的一面:使用字符串錨^和字符串錨$結束之初開始和搜索模式的結尾

(分別),以確保搜索字符串不包含任何東西(即它等於你想匹配的模式正則表達式:

^I am Coding$ 

編號:http://www.autohotkey.com/docs/misc/RegEx-QuickRef.htm

+0

對不起,我剛剛意識到其他人已經發布了這個答案,而我還在撰寫我的。 – Sinker 2011-04-06 02:21:22

+0

這個ID工作...我只能匹配我想要的東西。但是,該表存在問題,因爲此正則表達式使用位置而不是實際的純字符串匹配。雖然我不能說爲什麼... – 2011-04-06 02:24:38

+0

你如何匹配職位?你能舉個例子嗎? – Sinker 2011-04-06 04:30:29