本文共 1257 字,大约阅读时间需要 4 分钟。
大/小写,大写时相反的意思
\d:任意一个数字0-9 \w:任意一个字母数字下划线 \s:空格、制表符、换行符 .:匹配任意一个换行符以外的符号,若要匹配所有用[\s\S] 转义字符: \[2-8]: 2~8中的任意一个数字
1.特殊符号被包含到中括号中失去特殊含义除了^,- 2.标准字符集合,除小数点外,如果被包含于中括号,自定义字符集合将包含该集合修饰匹配次数
{n} : 重复n次 {m,n} : 至少重复m,之多重复n次 {m,} :至少重复m次 ? : 匹配表达式0次或1次(0~1次) + : 至少1次 * : 0次或任意多次1.只作用于前面的一个表达式,前面的多个表达式可以用()扩在一起,表示一个整体 2.默认贪婪模式,次数越多越好 3.非贪婪模式,在量词后加上?
匹配的不是字符而是位置,符合某种条件的位置
^ 与字符串开始的地方匹配(例:^a) 与字符串结束的地方匹配(例:b) b 匹配一个单词边界,前面的字符和后面的字符不全是\w忽略大小写模式:
忽略大小写单行模式:
整个文本看做一个字符串,只有一个开头和结尾。使用.(小数点)可以匹配包括换行符在内的任意字符多行模式
使每一行都是一个字符串,每行都有开头和结尾 如果还想获得字符串的开头和结尾元素,可以用\A\Z (例:a\A b\Z)|:或
():捕获组在被修饰匹配次数时,括号中的表达式可以作为整体被修饰。取匹配结果时,括号中的表达式匹配到的内容可以单独得到 (?:Exception):非捕获组,不保存()中子表达式匹配的内容,匹配后失效每一对()会分配一个编号,使用()的捕获根据左括号的顺序从1开始自动编号,对分组已捕获的字符串进行引用。(按左括号数计数,起始编号为1)
如:(a\d?b)\1
是两个ab之间有0/1的数字的结果拼接在一起:abab,a1ba1b
对位置的匹配
(?=exp):断言自身出现的位置后面能匹配exp
(?<=exp):断言自身出现的位置前面能匹配exp (?!exp):断言自身出现的位置后面不能匹配exp (?>!exp):断言自身出现的位置前面能匹配exp满足exp表达式的结果不计入总结果中。
例: ab(?=ab) 表示ab后面还有ab,即abab实例:
固定电话: 0\d{2,3}-\d(7,9) 手机号: 1[35789]\d{9} 电子邮件:[\w-]+@[a-z0-9A-Z]+(.[a-zA-Z]){1,2}固定电话的格式:
在国外拨打到中国的正确格式是:0086+当地区号+电话号码 在国内的拨打正确格式是:当地区号+电话号码 3位区号8位号码或者4位区号7位号码