一、常用的基础表达式
[0-9] // 匹配数字 [A-Z] // 匹配大写字母 [^A-Z] 匹配非大写字母 [a-z] // 匹配小写字母 () // 作为一个子表达式,可以跟其他字符一起使用,比如()+匹配子表示结果一次或多次 + // 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+ 用例:(com_[a-z]+)+ 匹配以com_开头,后跟1个或多个小写字母的1个或多个这样的信息 * // 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \* 用例:(com_[a-z]*)* 匹配以com_开头,后跟0个或多个小写字母的0个或多个这样的信息 ? // 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \? 用例:(com_[a-z]?)? 匹配以com_开头,后跟0个或1个小写字母的0个或1个这样的信息 [] // 字符集合,匹配中括号内的字符 用例:[kisl]+ 就可以匹配到每行中还有这几个字符的信息,比如skill也能匹配出来 [^] // 反字符集合,匹配除了中括号以外的字符 {n} // n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o {n,} // n 是一个非负整数。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+' {n,m} // m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格
二、简单的简写表达式(进阶)
\d // 匹配一个数字字符,等价于[0-9] \D // 等价于[^0-9] \s // 匹配任何空白字符,包括空格、制表符、换页符等等 \S // 匹配任何非空白字符 \w // 匹配字母、数字、下划线。等价于'[A-Za-z0-9_]' \W //匹配非字母、数字、下划线。等价于 '[^A-Za-z0-9_]'
二、特殊操作
(?=pattern) // 正向肯定预查 "Windows(?=95|98|NT|2000)"能匹配"Windows2000"中的"Windows",但不能匹配"Windows3.1"中的"Windows" (?<=pattern) // 反向肯定预查 "(?<=95|98|NT|2000)Windows"能匹配"2000Windows"中的"Windows",但不能匹配"3.1Windows"中的"Windows"
四、常用的正则表达式
1、匹配中文:[\u4e00-\u9fa5] 2、匹配双字节字符(包括汉字在内):[^\x00-\xff] 3、匹配空白行的正则表达式:\n\s*\r 4、匹配任意字符(包含换行):([\s\S]*)、([\d\D]*)、([\w\W]*) 都可