基础正则表达式知识学习总结 博客分类: java知识总结 正则表达式
程序员文章站
2024-03-22 21:34:58
...
学习的网址
- http://regexbook.net/
- http://www.java3z.com/cwbwebhome/article/article8/Regex/Java.Regex.Tutorial.html
- http://edu.yesky.com/edupxpt/18/2143018.shtml
- http://blog.csdn.net/kdnuggets/article/details/2526588
基础知识
字符类
[abc] | a, b 或 c(简单类) |
[^abc] | 除 a, b 或 c 之外的任意字符(取反) |
[a-zA-Z] | a 到 z,或 A 到 Z,包括(范围) |
[a-d[m-p]] | a 到 d,或 m 到 p:[a-dm-p](并集) |
[a-z&&[def]] | d,e 或 f(交集) |
[a-z&&[bc]]]] | 除 b 和 c 之外的 a 到 z 字符:[ad-z](差集) |
[a-z&&[m-p]] | a 到 z,并且不包括 m 到 p:[a-lq-z](差集) |
预定义字符类
. | 任何字符(匹配或者不匹配行结束符) |
\d | 数字字符:[0-9] |
\D | 非数字字符:[^0-9] |
\s | 空白字符:[\t\n\x0B\f\r] |
\S | 非空白字符:[\S] |
\w | 单词字符:[a-zA-Z_0-9] |
\W | 非单词字符:[\w] |
* | 零次到多次 |
+ | 1次到多次 |
? | 零次到1次 |
简单知识记录
- ^元字符,称为否定(negation)。
-
元字符有:( [ { \ ^ - $ | } ] ) ? * + .
- 有两种方法可以强制将元字符处理成为普通字符:
- 1. 在元字符前加上反斜线(\);
- 2. 把它放在\Q(引用开始)和\E(引用结束)之间[5]。在使用这种技术时,\Q和\E能被放于表达式中的任何位置(假设先出现\Q[!6])
- 指定范围,只要在被匹配的首字符和末字符间插入 - 元字符,比如:[1-5]
- 并集,只要在一个字符类的边上嵌套另外一个,比如:[0-4[6-8]]
- 交集,只要使用&&。比如:[0-9&&[345]]
- 差集,来否定一个或多个嵌套的字符类,比如:[0-9&&[^345]],这个是构建一个匹配除 3,4,5 之外所有 0 到 9 间数字的简单字符类。
- 转义构造,以反斜线(\)开始的构造
- a{3,6},寻找一行中至少连续出现 3 个(但不多于 6 个)“a”
- abc+的意思就是“a 后面接着 b,再接着一次或者多次的 c;[abc]+表示一次或者多次的 a 或 b 或 c,(abc)+表示一次或者多次的“abc”组。(dog){!3}连续3个dog
推荐阅读
-
【WebService学习过程记录(四)】xfire开发webservice客户端 博客分类: javaWeb知识总结 webserviceeclipsejava
-
【WebService学习过程记录(五)】复杂对象的加入 博客分类: javaWeb知识总结 webservicejavabeaneclipsexfire
-
【java】JETM--Java™的执行时间测量库简单学习(一) 博客分类: java知识总结 javajetm
-
【WebService学习过程记录(三)】XFire开发Web Service---HelloWord 博客分类: javaWeb知识总结 webservicexfire
-
跟着官网学Struts2使用(一) 博客分类: javaWeb知识总结 mavenstruts2java
-
算法--排序(冒泡,选择,插入,快速) 博客分类: java知识总结 算法java
-
【WebService学习过程记录(三)】XFire开发Web Service---HelloWord 博客分类: javaWeb知识总结 webservicexfire
-
【java】构造函数的继承执行顺序 博客分类: java知识总结 java
-
【java】实现日历对话框 博客分类: java知识总结 javaCalendar
-
【java】反射可执行的实例 博客分类: java知识总结 java