正则表达式中的元字符:
基本元字符集:^,$,.,*,[],[^],\<,\>
扩展元字符集:?,+,{,},|,(,)
()标记一个子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,如需转载请自行联系原作者