java正则表达式之捕获分组与Back引用
2015-07-24 10:08
645 查看
一.捕获分组
java正则表达式中以()括起来的内容表示一个分组,像((A)(B(C)))这个表达式中,共存在四个分组:
1.ABC
2.A
3.BC
4.C
很容易发现,分组是按照左边的括号出现的顺序来标号的
这就是捕获分组
二.Back引用
我们以下面这个正则表达式为例:
这个正则表达式在匹配的过程中,先匹配双引号"或者单引号',如果匹配的话,将其记为分组1;
然后匹配接下来的字符,虽然可以是任意多个的任意字符,但要想匹配该正则表达式,还需要匹配最后一项\1;
匹配\1指的是匹配分组1,即:
如果分组1是双引号",最后必须有一个双引号";
如果分组1是单引号',最后必须有一个单引号';
很明显,像"abc"或'abc'可以匹配,而"abc'或'abc"就不能匹配
-------------------------------------------------------------------------------------------------------------------
后记:如有错误请指出:)
java正则表达式中以()括起来的内容表示一个分组,像((A)(B(C)))这个表达式中,共存在四个分组:
1.ABC
2.A
3.BC
4.C
很容易发现,分组是按照左边的括号出现的顺序来标号的
这就是捕获分组
二.Back引用
我们以下面这个正则表达式为例:
这个正则表达式在匹配的过程中,先匹配双引号"或者单引号',如果匹配的话,将其记为分组1;
然后匹配接下来的字符,虽然可以是任意多个的任意字符,但要想匹配该正则表达式,还需要匹配最后一项\1;
匹配\1指的是匹配分组1,即:
如果分组1是双引号",最后必须有一个双引号";
如果分组1是单引号',最后必须有一个单引号';
很明显,像"abc"或'abc'可以匹配,而"abc'或'abc"就不能匹配
-------------------------------------------------------------------------------------------------------------------
后记:如有错误请指出:)
相关文章推荐
- spring mvc 自定义拦截器
- eclipse中奇怪的是乱码
- spring 定时器
- java虚拟机_jvm_java内存区域
- myeclipse发布项目很慢。
- Eclipse搭建SSH(Struts2+Spring3+Hibernate3)框架项目教程
- java.lang.NoClassDefFoundError: ActionSupport异常和Action class not found异常
- java虚拟机_jvm(1)
- Java 动态代理机制分析及扩展,第 1 部分
- 在eclipse上以link方式安装CDT插件
- JAVA—Day01
- Spring -- spEL&Bean的生命周期&工厂方法配置Bean
- Java中获得数据库连接的几种方法
- Eclipse启动时出现d:skin错误提示解决方法
- Java实现Html转Pdf的方法
- java并发编程实战 第五章(2)合并任务的结果
- Struts result param详细设置
- 深入Java关键字null
- 深入了解Struts2返回JSON数据的原理及具体应用范例
- Eclipse和InteliJ IDEA 使用区别