1.概念:
正则表达式:又称’规则表达式’,通常被用来检索、替换等符合某个模式(规则)的文本.
正则表达式是对字符串此操作的一种逻辑公式,就是用事先定义好的一些特定字符以及这些特定字符的组合,组成一个规则的字符串
这个规则的字符串表达出对字符串的一种过滤逻辑
2.使用正则表达式,我们可以达到:
1.给定的字符串是否符合正则表达式的过滤逻辑
2.通过正则表达式,从文本中获取我们想要的内容
3.正则表达式的规则构成:普通字符+元字符(有特殊含义的字符)
4.元字符:
1.匹配边界:
^ : 匹配行首 例如:^a 字符串第一位必须是a
$ : 匹配行尾 例如:a$ 字符串最后一位必须是a
2.各种字符的表达式:
[a-z] 匹配任意一个a-z之间的字母
[0-9] 匹配任意一个0-9之间的数字
[aop] 匹配任意一个a或o或p
[^123abc] 匹配除了1,2,3,a,b,c以外的任意一个字符
^[123abc] 匹配以1,2,3,a,b,c其中任意一个开头的字符
. 匹配除换行以外(\n)的任意一个字符
\b 匹配单词的开始和结束
\B 匹配不是单词的开始和结束
\d 匹配数字 相当于[0-9]
\D 匹配非数字 相当于[^0-9]
\w 匹配数字、字母和下划线 相当于[a-zA-Z0-9]
\W 匹配任意非数字、字母和下划线 相当于[^a-zA-Z0-9]
\s 匹配任意空白字符(e.g.换行、制表符、空格等)
\S 匹配任意非空白字符
3.重复次数:
? : 重复匹配前一个字符0次或一次 ---> 匹配最多一次 a?
+ : 重复匹配前一个字符一次或更多次 ---> 匹配至少一次
* : 重复匹配前一个字符无限次 ---> 匹配0次或无限次
{n} : 重复匹配前一个字符n次 ---> 只能匹配n次 a{2} 匹配两个a
{n,} : 重复匹配前一个字符至少n次 ---> 匹配n次到无限次 [n,∞)
{n,m} : 重复匹配前一个字符最少n次,最多m次 ---> [n,m]