如何從字符串中獲取「」中的第一個和第二個文本? 我可以indexOf
做到這一點,但這實在是無聊(( 比如我有解析像一個字符串:"aaa":"bbbbb"perhapsSomeOtherText
我倒要獲得aaa
和bbbbb
用正則表達式的幫助 - 這將幫助我使用它在switch語句,將大大簡化我的應用程序/第一和第二正切正則表達式
回答
如果你的所有,是冒號分隔字符串只是把它分解:
String str = ...; // colon delimited
String[] parts = str.split(":");
注意,那split()
接收正則表達式,每次compilies它。爲了提高代碼的性能,您可以使用Pattern
如下:
private static Pattern pColonSplitter = Pattern.compile(":");
// now somewhere in your code:
String[] parts = pColonSplitter.split(str);
然而,如果你想使用模式匹配,並在更復雜的案件串片段的提取,這樣做就像下面:
Pattert p = Patter.compile("(\\w+):(\\w+):");
Matcher m = p.matcher(str);
if (m.find()) {
String a = m.group(1);
String b = m.group(2);
}
注意定義捕獲組的括號。
謝謝你,我不知道關於組(枚舉)!這是我真正需要的) – curiousity
Alex,我將正則表達式改爲(「(\\ w +):(\\ d +):」);爲了找到像「aaa」:「123」fdfff字符串,但它不工作 - 我在正則表達式模式中做了什麼錯誤? – curiousity
好吧,所以第二個片段只匹配數字。它不符合你的例子,但可能這是你需要的。所以,祝你好運。 – AlexR
有幾種方法可以做到這一點 使用的StringTokenizer或掃描儀與UseDelimiter方法
這樣的事情?
Pattern pattern = Pattern.compile("\"([^\"]*)\"");
Matcher matcher = pattern.matcher("\"aaa\":\"bbbbb\"perhapsSomeOtherText");
while (matcher.find()) {
System.out.println(matcher.group(1));
}
輸出
aaa
bbbbb
- 1. PHP正則表達式第二次數
- 2. 正則表達式 - 第一組1時,第二組多次
- 3. 正則表達式查找第一個和第二個」 occurence在每一行
- 4. 正則表達式(正則表達式),更換第二occurence在JavaScript
- 5. 第一次使用正則表達式
- 6. 正則表達式第一次發生
- 7. 第一次使用正則表達式
- 8. Grep第一組正則表達式
- 9. 第一次正則表達式用戶
- 10. 正則表達式刪除一切到第一階段
- 11. 正則表達式一切
- 12. 正則表達式的第二個點後,一些去除一切
- 13. XSL首先使用正則表達式的輸出寫入第二個正則表達式並覆蓋的第二個正則表達式的祖先串打
- 14. 正則表達式 - 消除一切第n個逗號
- 15. 正則表達式操作切斷第一個字母
- 16. 如何用正則表達式和php匹配第二組?
- 17. JS正則表達式或只選擇第一個表達式
- 18. Python正則表達式匹配第一次約會,然後第二次
- 19. 賽第一組,無論是在第二組或正則表達式
- 20. 正則表達式。獲得第一個空間,而不是第二
- 21. 正則表達式在第二部分找到字符串的第一部分?
- 22. 正則表達式 - 第一個隨機字符等於第二個字符。
- 23. 匹配到第二個正則表達式,如果第一個沒有匹配
- 24. 正則表達式:一個第一次出現和另一個
- 25. HTML5的RNA第二結構正則表達式模式
- 26. 將第二個搜索添加到正則表達式模式?
- 27. 訪問第一個第N個正則表達式組
- 28. 正則表達式第n個匹配
- 29. 正則表達式 - 第幾組
- 30. 正則表達式除去第一和最後一個字符
如何在詢問前首先_trying learn_regex? – devnull