正则表达式
定义
·正则表达式是一种文本模式,包括普通字符和特殊字符(元字符);
·正则表达式用单个字符串来描述,匹配一系列某个句法规则的字符串;
功能
·测试字符串的模式
·替换文本
·基于模式匹配从字符串中提取自字符串
结构
正则表达式 = 普通字符 + 特殊字符
特殊字符
用来控制字符的范围和位置以及数量
^ 匹配字符串开始的位置
$ 匹配输入字符串的结尾位置
{n} 刚好匹配n次
{n,} 匹配n次或者更多次
{n,m} 匹配n~m次
() 标记一个子表达式的开始和结束位置,可以提高优先级
* 匹配前面的子表达式零次或多次 等价于 {0,}
+ 匹配前面的子表达式一次或多次 等价于 {1,}
? 匹配前面的子表达式零次或一次 等价于 {0,1}
. 匹配除换行符之外的任何单字符
[xyz] 匹配所包含的任意一个字符。只能是单个字符的匹配
[^xyz] 匹配未包含的任意字符,也是只能是单个字符的匹配
[a-z] 匹配任意一个小写字符,单个字符
[A-Z] 匹配任意一个大写字符,单个字符
[0-9] 匹配任意一个数字
\b 匹配一个单词边界。也就是单词和空格之间的位置
\w 匹配包括包括下划线的任何单词字符 [a-zA-Z0-9_]
\W 匹配任何非单词字符 等价于 "[^A-Za-z0-9_]"
\d 匹配一个数字字符。等价于[0-9]
\D 匹配一个非数字字符。等价于[^0-9]
\n 匹配一个换行符。等价于\x0c 和 \cJ
\r 匹配一个回车符。等价于 \x0d 和 \cM
\s 匹配任何不可见字符。包括了空格,制表符,换页符等。等价于 [\f\n\r\t\v]
\S 匹配任何可见字符。等价于[^ \f\n\r\t\v]
\t 匹配一个制表符
注意
汉字的正则表达式 : [\u4e00-\u9fa5]