正則表達式中的元字符:正則表達式
基本元字符集:^,$,.,*,[],[^],\<,\>算法
擴展元字符集:?,+,{,},|,(,) windows
()標記一個子Reg表達式的開始和結束ide
[]標記任意一個字符spa
{}限定符,標記前一個字符重複次數對象
| 用在()中是字符串或,而不是字符或字符串
*?:*? 重複任意次,但儘量少重複,最小匹配,懶惰算法;(*最大匹配,貪婪算法) it
\將元字符轉爲普通字符(如\[),或將普通字符變爲轉義字符(如\t)class
^匹配字符串的開始位置,若是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表達式