我有我的正則表達式的一個問題:正則表達式,從第提取字(多個空格)
String regex = "(?<=[\\s])#\\w+\\s";
我想要的格式,如這樣的字符串正則表達式:
"This is a Text #tag1 #tag2 #tag3"
隨着正則表達式,我得到的最後兩個值的結果,但沒有標記1 - 因爲有一個以上的空白。但我想要他們三個!
我嘗試了一些變化,但是毫無效果。
我有我的正則表達式的一個問題:正則表達式,從第提取字(多個空格)
String regex = "(?<=[\\s])#\\w+\\s";
我想要的格式,如這樣的字符串正則表達式:
"This is a Text #tag1 #tag2 #tag3"
隨着正則表達式,我得到的最後兩個值的結果,但沒有標記1 - 因爲有一個以上的空白。但我想要他們三個!
我嘗試了一些變化,但是毫無效果。
這是從你的問題你真的是經過什麼有點不清楚,所以我已經把一些簡單的替代品:
要捕獲所有標籤的字符串中,我們可以使用一個回顧後:
((?<=\\s|^)#\\w+)
要捕獲所有的標籤在字符串的結尾,我們可以使用一個前瞻:
(#\\w+(?=\\s#)|#\\w+$)
如果在最後總是三個標籤,有沒有必要一個lookaround:
(#\\w+)\s(#\\w+)\s(#\\w+)$
第二次爲我工作。非常感謝你 !! – dadom85 2012-03-15 14:11:50
你想除了第一個標籤,或只是最後兩個標籤?你想包含'#'標籤還是不包含? – ohaal 2012-02-26 15:46:40
OUH有打字錯誤,對不起。我再次編輯。我想要所有3個標籤,包括# – dadom85 2012-02-27 08:38:24
您只需要在字符串末尾或字符串中的任何位置的所有標籤?它總是3個標籤,或者不同的數量?是否符合'#tag1'之前必須有2個或更多空格的標準纔是有效匹配? – ohaal 2012-02-27 11:20:17