正则表达式的常用方法:
1.正则.test(字符串) 返回True或者False
2.字符串.search(正则) 返回匹配成功的位置,如果匹配失败就返回-1
3.字符串.match(正则) 正则匹配成功就会结束,不会继续匹配,如果想要全部查找,就要加标识g(全局匹配)
4.字符串.replace(正则,新的字符串)
5.正则.exec(字符串) 返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null
正则表达式编写:1.任意字符 2.范围 3.排除
正则修饰符:
1. i —— 执行对大小写不敏感的匹配
2. g —— 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
3. m —— 执行多行匹配
正则表达式转义字符
.(点) 任意字符
\. 真正的点
\s(\S) 空格(非空格)
\d(\D) 数字(非数字)
\w(\W) 字符(非字符) 字符包括字母、数字、下划线
\数字 重复子项(\1 重复的第一个子项,\2 重复的第二个子项...)
[^abc] 匹配除了abc以外的任意字符
量词
{4,7} 最少出现4次,最多出现7次
{4,} 最少出现4次
{4} 正好出现4次
+是{}的简写,相当于(1,) //出现至少1次
? 相当于{0,1} //出现0次或者1次
* 相当于{0,} //至少出现0次,可以没有
正则首尾
^ 正则的最开始位置,表示起始的意思
$ 正则的最后,表示结束的意思
前向声明和反前向声明
(?=) 前向声明 a(?=b) 查找b前面的a
(?!) 反前向声明 a(?!b) 查找后面不是b的a
(?:) 表示非捕获分组,和捕获分组唯一的区别在于,非捕获分组匹配的值不会保存起来