笔记 正则表达式

来源:互联网 发布:李炎恢php 百度网盘 编辑:程序博客网 时间:2024/06/06 06:48

1、正则表达式:是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串。其实就是一处规则。有自己特殊的应用

2、作用:比如注册邮箱,邮箱有用户名和密码,一般会对其限制长度,这个限制长度的事情就是正则表达式做的

3、字符类

[abc] ab c (简单类)

[^abc]任何字符,除了 ab c (否定)

[a-zA-Z] a z A Z,两头的字母包括在内 (范围)

[a-d[m-p]] a d, m p: [a-dm-p] (并集)

[a-z&&[def]] def (交集)

[a-z&&[^bc]] a z,除了 bc: [ad-z] (减去)

[a-z&&[^m-p]] a z,而非 m p: [a-lq-z](减去)

4、预定义字符类

. 任何字符

\d数字

\D非数字: [^0-9]

\s空白字符: [ \t\n\x0B\f\r]

\S非空白字符: [^\s]

\w单词字符: [a-zA-Z_0-9]

\W非单词字符: [^\w]

5、数量词

X?    X, 一次或一次也没有

X*    X, 零次或多次

X+    X, 一次或多次

X{n}  X, 恰好n

X{n,} X, 至少n

X{n,m}X, 至少n次,但是不超过m

6、正则表达式的分割功能

String类的功能:public String[] split(String regex)

7、把给定字符串中的数字排序

8、正则表达式的替换功能

String类的功能:public String replaceAll(String regex, Stringreplacement)

9、正则表达式的分组功能

捕获组可以通过从左到右计算其左括号来编号。例如,在表达式((A)(B(C)))中,存在四个这样的组:

((A)(B(C)))

(A)

(B(C))

(C)

组零始终代表整个表达式

10PatternMatcher

模式和匹配器的典型调用顺序

Pattern p = Pattern.compile(“a*b”);

Matcher m = p.matcher(“aaaaab”);

Boolean b = m.matches();

11、正则表达式的获取功能

PatternMatcher的结合使用