正则表达式

正则表达式中的元字符:

基本元字符集:^,$,.,*,[],[^],\<,\>

扩展元字符集:?,+,{,},|,(,) 


()标记一个子Reg表达式的开始和结束

[]标记任意一个字符

{}限定符,标记前一个字符重复次数

| 用在()中是字符串或,而不是字符或


*?:*? 重复任意次,但尽可能少重复,最小匹配,懒惰算法;(*最大匹配,贪婪算法) 

\将元字符转为普通字符(如\[),或将普通字符变为转义字符(如\t)

^匹配字符串的开始位置,如果RegExp对象设置了多行模式,那么^还将匹配所有\n或\t之后的位置(首行)

$匹配字符串的位置结束,如果RegExp对象设置了多行模式,那么$还将匹配所有\n或\t之前的位置(行尾)

*将该字符前面正则表达式中的紧邻字符(可以是转义字符)重复0次或多次(如“ab*”可以匹配“a”,"ab","abb..";"a\d*"可以匹配很多)

+将该字符前面正则表达式中的紧邻字符(可以是转义字符)重复1次或多次

?将该字符前面正则表达式中的紧邻字符(可以是转义字符)重复0次或1次

{n}将该字符前面正则表达式中的紧邻字符(可以是转义字符)重复n次

{n,}将该字符前面正则表达式中的紧邻字符(可以是转义字符)重复至少n次

{n,m}将该字符前面正则表达式中的紧邻字符(可以是转义字符)重复至少n次,最多m次

.匹配\n之外的任何字符(如果匹配所有字符可以使用[.\n])

(pattern)当一个正则表达式Reg中含()时,如果匹配了该Reg,那么将只返回与()匹配的部分。"industr(ies)"如果匹配了那么将只返回ies

(?:pattern)当一个正则表达式Reg中含(?:)时,如果匹配了该Reg,那么将返回整个与Reg匹配的部分(这个常与|合用)如"industr(?:y|ies)"将匹


配"industry"或"industries"

(?=pattern)当一个正则表达式Reg中含(?=)时,如果匹配了该Reg,那么将只返回()只外匹配的部分。如"windows (2000|NT)"如果匹配了将只返回"windows"

(?!pattern)负向匹配,与(?=pattern)相反,匹配pattern不包含的字符,并且()的内容不返回。如"windows (2000|NT)",不能比配windows 2000"中的


windows但能匹配windows 3.1中的windows,并只返回windows

|Reg中的字符串或,常用在()中,如(abc|bcd)匹配abc或bcd

[xyz]字符集,匹配[]包含的任意一个字符

[^xyz]负向匹配,匹配[]不包含的任意一个字符

-字符范围




\b匹配一个单词边界,即单词与空格间的位置。如'er\b'能匹配'never is'中的'er'但不能匹配'verb '中的'er'

\B匹配一个非单词边界,与上述相反,能匹配'verb '中的'er',但不能匹配'never is'中的'er'

\cx匹配一个由x指明的控制字符,如\cM将匹配回车

\d配置一个数字字符,等价于[0-9]

\D配置一个非数字字符,等价于[^0-9]

\f匹配一个换页符

\n匹配一个换行符

\r匹配一个回车符

\t匹配一个制表符

\v匹配一个垂直制表符

\s匹配任意一个空白字符,等价于[\f\n\r\t\v]

\S匹配任意一个非空白字符,等价于[^\f\n\r\t\v]

\w匹配数字字母或下划线,等价于[0-9a-zA-Z_]

\W匹配非数字字母或下划线,等价于[^0-9a-zA-Z_]

\num            重复第num个()标记的reg表达式



本文转自 a_liujin 51CTO博客,原文链接:http://blog.51cto.com/a1liujin/1701891,如需转载请自行联系原作者

上一篇:一次性集中处理大量数据的定时任务,如何缩短执行时间?


下一篇:正则表达式