Q
模式匹配器
1
A
回答
5
5
]
是用來表示character class所以它需要的最後一個特殊字符進行轉義:
Pattern pat = Pattern.compile("[^a-z][^,.:;\\]]");
+0
@Reimeus,它並不需要轉義。檢查我的答案替代 –
+0
好點,但逃脫它意味着你不必記得把它作爲角色類中的第一個字符:) – Reimeus
1
您可以通過使用轉義字符\做像這樣\\].
0
你並不需要escap e it。在正則表達式中有一個特殊的規則,如果你想在列表中使用實際的]
字符,它必須是它的第一個元素。它會工作得很好。給這個代碼試試:
public static void main(String[] args){
String texto = "[]hello[]";
Pattern p = Pattern.compile("[]]+");
Matcher m = p.matcher(texto);
while(m.find()){
System.out.println(m.group());
}
}
0
的標準方法是使用Pattern
類quote
功能。此函數返回指定String的文字模式String。
String myLiteralString = Pattern.quote(",.[:;");
Pattern pat = Pattern.compile("[^a-z][^" + myLiteralString + "]");
此方法轉義正則表達式語法的所有特殊字符。
相關問題
- 1. java模式和匹配器
- 2. Java模式/匹配器
- 3. 模式匹配器replaceAll
- 4. 模式匹配解析器
- 5. 模式匹配不匹配
- 6. 模式匹配
- 7. 模式匹配
- 8. 模式匹配
- 9. 模式匹配
- 10. 模式匹配
- 11. 模式匹配
- 12. 模式匹配
- 13. 模式匹配
- 14. 匹配模式
- 15. 匹配模式
- 16. 模式匹配
- 17. 模式後匹配模式?
- 18. 模式匹配VBS
- 19. 模式匹配BigInts
- 20. 模式匹配MATLAB
- 21. AWK模式匹配
- 22. Java模式匹配
- 23. 多模式匹配
- 24. 模式匹配UNIX
- 25. Lua模式匹配
- 26. cron模式匹配
- 27. jQuery模式匹配?
- 28. MYSQL:模式匹配
- 29. Robocopy模式匹配
- 30. MySql模式匹配
你並不需要逃避它(儘管你可以如果你想要,在實踐中沒有什麼不同),但是正則表達式考慮這種情況,並且有一種特殊的方式來對待它。檢查我的答案 –