正则表达式的圆括号和中括号的区别
来源:互联网 发布:招商证券理财软件下载 编辑:程序博客网 时间:2024/06/04 22:47
现象
String regex = ".*\\b(bug|fix|error|fail|leak|resolve|miss|correct|ensure|should|#\\d*)[es|ed|s|ly|ing|d]?\\b.*"; Pattern bug = Pattern.compile(regex, Pattern.CASE_INSENSITIVE); Matcher m = bug.matcher(message); if(m.find()) return true; return false;
使用串Fixes-most-inspector-warnings
来匹配的时候,无法匹配,但是将后面的中括号改为圆括号则可以匹配(es|ed|s|ly|ing|d)
,思考两者的区别
原因
[ ]中括号里面的字符都是单独的,也就是es|ed
被当做五个独立的字符,而不是es
或者ed
,而()圆括号则表示这是一个分组,分组里的|
有或者的含义
验证
public static void testExpression(){ String regex = "[a|b]"; Pattern p = Pattern.compile(regex); String check = "|"; System.out.println(p.matcher(check).find()); } public static void testExpression2(){ String regex = "(a|b)"; Pattern p = Pattern.compile(regex); String check = "|"; System.out.println(p.matcher(check).find()); }
运行上述例子可以得到结果 True False,符合原因中的解释。
0 0
- 正则表达式的圆括号和中括号的区别
- 正则中圆括号()方括号[]大括号{}的区别和用法
- 正则表达式(括号)、[中括号]、{大括号}的区别小结
- 正则表达式(括号)、[中括号]、{大括号}的区别小结
- 正则表达式(括号)、[中括号]、{大括号}的区别小结
- 正则表达式(括号)、[中括号]、{大括号}的区别小结
- 正则表达式(括号)、[中括号]、{大括号}的区别小结
- 正则表达式(括号)、[中括号]、{大括号}的区别小结
- 正则表达式(括号)、[中括号]、{大括号}的区别小结
- 正则表达式(括号)、[中括号]、{大括号}的区别小结
- 正则表达式(括号)、[中括号]、{大括号}的区别小结
- 正则表达式(括号)、[中括号]、{大括号}的区别小结
- 正则表达式(括号)、[中括号]、{大括号}的区别小结
- 正则表达式(括号)、[中括号]、{大括号}的区别小结
- 正则表达式(括号)、[中括号]、{大括号}的区别小结
- 正则表达式(括号)、[中括号]、{大括号}的区别小结
- 正则表达式中(括号) [方括号] {大括号}的区别
- 括号配对:假设一个数学算式中包括圆括号"()",方括号”[]"和花括号“{}”三种类型,编写一算法判断表达式的括号是否配对。
- Linux netstat 命令详解
- Hat's Words hdu1247 trie
- Qt环境搭建(Visual Studio)
- 简单的RPC(未用动态代理)
- 【Codeforces Round #196 (Div. 1)】Codeforces 338D GCD Table
- 正则表达式的圆括号和中括号的区别
- Qt环境搭建(Qt Creator)
- 按钮添加单机响应事件
- 关于MyEclipse导入工程后部分JS文件出现红叉不可用的情况及解决办法
- C++抽象编程——面向对象(7)——设计新的类(2)
- java垃圾回收(GC)
- C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.Cpp.Platform.targets 64 5
- 标志位寄存器与CF、OF标志位的区分
- C# 学习网站整理