正则表达式
正则表达式:
称为规则字符串,用来匹配字符串,可以用来搜索,验证或者替换符合规则的字符串
那么怎么来制定这个规则呢
比如字符串中有数字,字母,各种符号,空格等。发现没有中文的匹配规则好像(中文太多?数字0-9,字母a-z,各种符号也有限)
斜杠是除号,反斜杠就是方向相反的斜杠。在正则字符串中,带有反斜杠的一般都是特殊字符
普通字符:
就是和字符串一样的
符号(配合转义字符斜杠用):
\r\n 回车和换行
\t 制表符
\\ ‘\’
\^ '^'
\$ ‘$’
\. '.'
普通字符分类
\w:与[A-Za-z0-9_]等效
\W:与\w相反
\d:数字
\D:非数字
\s:空白字符串
\S:非空白
\b: 字边界
\B: 非自边界
空白字符:
\f :换页符
\n :换行符
\r :回车符
\t :制表符
\v:垂直制表符
限定范围匹配(使用中括号)
[abcd] 匹配方括号中的字符的任意一个
[a-z] 匹配a-z中任意一个
[^abc] 除了a,b,c,匹配其他任意字符
[^1-5] 除了1-5,匹配其他任意字符
重复次数匹配(使用大括号)
a{n} a重复n次
a{1,3} a重复最少1次,最多3次
a{m, } a重复至少m次
a? a重复0或者1次,相当于a{0,1}
a+ a重复至少1次,相当于a{1, }
a* a不重复或者重复任意次,相当于a{0, }
正则自己的特殊标记:
^ 字符串开始
$ 字符串结束
\b 单词边界,可以说两个\b之间的是一个单词???
表达式:
| 或
() 1,匹配括号内的规则,主要用于修饰次数,比如(abc){2}这样
2,可以获取到括号内的结果
反义
大写表示反义
[x]
表示匹配x
[^x]
表示匹配非x