正则表达式中的元字符:
基本元字符集:^,$,.,*,[],[^],\<,\>
扩展元字符集:?,+,{,},|,(,)
()标记一个子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表达式
本文出自 “tech记录” 博客,谢绝转载!
原文地址:http://a1liujin.blog.51cto.com/5519498/1701891