正则表达式
也叫规则表达式, 按照一定的规则组成的一个表达式, 这个表达式的作用主要是匹配字符串的
"我的电话:10086,他的电话:10010,你的电话:10000"
正则表达式, 把这个字符串中的所有的数字找到
正则表达式的作用: 匹配字符串的
在大多数编程语言中都可以使用
正则表达式的组成: 是由元字符或者是限定符组成的一个式子
元字符:
. 表示的是:除了
以外的任意的一个字符 "fdsfs238"
[] 表示的是:范围, [0-9] 表示的是0到9之间的任意的一个数字, "789" [0-9]
[1-7] 表示的是1到7之间的任意的一个数字
[a-z] 表示的是:所有的小写的字母中的任意的一个
[A-Z] 表示的是:所有的大写的字母中的任意的一个
[a-zA-Z] 表示的是:所有的字母的任意的一个
[0-9a-zA-Z] 表示的是: 所有的数字或者是字母中的一个
[] 另一个函数: 把正则表达式中元字符的意义干掉 [.] 就是一个.
| 或者 [0-9]|[a-z] 表示的是要么是一个数字,要么是一个小写的字母
() 分组 提升优先级 [0-9]|([a-z])|[A-Z]
([0-9])([1-5])([a-z]) 三组, 从最左边开始计算
(()(()))
都是元字符,但是也可以叫限定符,下面的这些
* 表示的是:前面的表达式出现了0次到多次
[a-z][0-9]* 小写字母中的任意一个 后面是要么是没有数字的,要么是多个数字的
"fdsfs3223323" [a-z][0-9]*
*
+ 表示的是:前面的表达式出现了1次到多次
[a-z][9]+ 小写字母一个后面最少一个9,或者多个9
"fesfewww9fefds"
*
? 表示的是:前面的表达式出现了0次到1次,最少是0次,最多1次 ,另一个含义:阻止贪婪模式
[4][a-z]? "1231234ij"
限定符:限定前面的表达式出现的次数
{} 更加的明确前面的表达式出现的次数
{0,} 表示的是前面的表达式出现了0次到多次,和 *一样的
{1,} 表示的是前面的表达式出现了1次到多次,和 +一样的
{0,1} 表示的是前面的表达式出现了0次到1次,和 ?一样的
{5,10} 表示的是前面的表达式出现了5次到10次
{4} 前面的表达式出现了4次
{,10} 错误的========不能这么写
^ 表示的是以什么开始,或者是取非(取反) ^[0-9] 以数字开头
^[a-z] 以小写字母开始
[^0-9] 取反,非数字
[^a-z] 非小写字母
[^0-9a-zA-Z_]
$ 表示的是以什么结束 [0-9][a-z]$ 必须以小写字母结束
^[0-9][a-z] 相当于是严格模式 "3f2432e" "4f"
d 数字中的任意一个,
D 非数字中的一个
s 空白符中的一个
S 非空白符
w 非特殊符号
W 特殊符号
单词的边界
"what are you no sha lei"
. 除了 以外的任意一个单个字符 [] 范围 () 分组,提升优先级 | 或者 * 0-多次 + 1-多次 ? 0-1次 {0,} 和*一样 {1,} 和+ {0,1} d 数字中的一个 D 非数字 s 空白符 S 非空白符 W 特殊符号 w 非特殊符号 _ ^ 取反,以什么开始 $ 以什么结束 单词边界