字符串"abcd[ram]xyz"
內的與"[ram]"
(用括號括起的內容)匹配的正則表達式爲"\[(.*?)\]"
。在同一個字符串內匹配"ram"
(方括號內的內容)的正則表達式是什麼?用於匹配方括號內的字符串的正則表達式
2
A
回答
3
正則表達式到字符串
"abcd[ram]xyz"
內匹配"[ram]"
是"\[(.*?)\]"
它,但不願量詞的存在?
使得它rather inefficient one。更好的表達方式是
\[([^\]]*)\]
此修改可避免回溯,使其成爲更高效的正則表達式。
在同一個字符串內匹配
"ram"
(方括號內的內容)的正則表達式是什麼?
這就是表達!所有你需要的是從比賽拉組號1:「[(。*?)]」
Pattern p = Pattern.compile("\\[([^\\]]*)\\]"); // Note how slashes need double-escaping in Java
Matcher m = p.matcher("abcd[ram]xyz");
if (m.find()) {
System.out.println(m.group(1));
}
+0
如果我還想要方括號,該怎麼辦 – Akshay
+1
@Akshay移動在所需部分周圍捕獲括號。 – dasblinkenlight
0
你可以使用相同的正則表達式,然後提取子串(擺脫字符串中的第一個和最後一個字符)。或者只搜索「ram」。
1
你可以嘗試使用向前看和向後看:
(?<=\[)(.*)(?=\])
0
使用後面一看,向前看:
(?<=\[).*?(?=\])
因爲外觀變通不消耗輸入時,整個匹配是方括號內的內容(不需要羣組)
相關問題
- 1. 正則表達式 - 用於匹配括號內的字母字符的模式
- 2. 正則表達式匹配括號內
- 3. 正則表達式匹配括號中的字符串
- 4. 正則表達式,匹配的字符串也包含括號
- 5. 正則表達式匹配包含括號的字符串
- 6. 正則表達式匹配不包圍括號的字符串
- 7. 正則表達式到括號不匹配的字符串
- 8. 正則表達式匹配方括號
- 9. 正則表達式用於匹配括號之間的內容
- 10. BASH正則表達式匹配 - 包括方括號中的括號以匹配?
- 11. 正則表達式匹配括號內的字符串沒有空格周圍
- 12. 匹配方括號和方括號內容的正則表達式是什麼?
- 13. 在JS正則表達式中匹配方括號字符串的錯誤
- 14. 正則表達式匹配大括號內的數字
- 15. 正則表達式,大括號以外的字符匹配{}
- 16. 正則表達式匹配奇數大括號後的字符
- 17. JS正則表達式匹配嵌套括號外的字符
- 18. 正則表達式匹配大括號
- 19. 正則表達式 - 僅匹配括號
- 20. 正則表達式匹配外括號
- 21. 正則表達式匹配括號Qt
- 22. 正則表達式匹配括號
- 23. 正則表達式匹配括號
- 24. 正則表達式匹配括號
- 25. 用於匹配文字字符串的正則表達式
- 26. 正則表達式則表達式匹配的字符串
- 27. 正則表達式匹配括號內的括號內的所有內容嗎?
- 28. 正則表達式只匹配不在括號內的逗號?
- 29. 正則表達式正則表達式匹配字符串
- 30. 匹配匹配字符串的正則表達式的子串
獲取'group 1'。 –
你的意思是字符串必須包含'[ram]'? 如果是這樣,那麼匹配就是'「。* \ [ram \]。*」'。 –
@RohitJain請解釋一下。我正在使用'matcher.group()'。使用'matcher.group(1)'拋出'IndexOutOfBoundsException'。 – Jay