正则表达式

来源:互联网 发布:mac怎么设置iphone铃声 编辑:程序博客网 时间:2024/06/05 04:44

正则表达式概述及具体功能

正则表达式:符合一定规则的表达式。一些特殊符号的使用。

作用:用于专门操作字符串。

特点:用一些特定的符号来表示一些代码操作。简化书写。

优点:可以简化对字符串的复杂操作。

弊端:符号定义越多,正则越长,阅读型越差

具体功能操作:匹配、切割、替换、获取(此功能单独在下面3中列出)

功能使用区分:

1)若只想知道该字符是对是错,则使用匹配。

2)若将已有的字符串变成另一个字符串,则使用替换。

3)若按照自定方式将字符串变成多个字符串。则使用切割。获取规则以外的子串。

4)若拿到符合需求的字符串子串,获取。获取符合规则的子串。

主要常见常用到的

字符

x

字符 x

\\

反斜线字符

\0n

带有八进制值 0 的字符 n (0 <= n <= 7)

\0nn

带有八进制值 0 的字符 nn (0 <= n <= 7)

\0mnn

带有八进制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7)

\xhh

带有十六进制值 0x 的字符 hh

\uhhhh

带有十六进制值 0x 的字符 hhhh

\t

制表符 ('\u0009')

\n

新行(换行)符 ('\u000A')

\r

回车符 ('\u000D')

\f

换页符 ('\u000C')

\a

报警 (bell) 符 ('\u0007')

\e

转义符 ('\u001B')

\cx

对应于 x 的控制符

 

字符类

[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]]

de 或 f(交集)

[a-z&&[^bc]]

a 到 z,除了 b 和 c[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]

 

Greedy 数量词

X?

X,一次或一次也没有

X*

X,零次或多次

X+

X,一次或多次

X{n}

X,恰好 n 次

X{n,}

X,至少 n 次

X{n,m}

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

组和捕获 

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

1    

((A)(B(C)))

2    

\A

3    

(B(C))

4    

0 0
原创粉丝点击