元字符
^ 匹配字符串的开始
$ 匹配字符串的结束
| 指明两项间选择
{n} n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。
{n,} n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”。
{n,m} m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}”将匹配“fooooood”中的前三个o。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。
\ 字符标记或特殊字符、或原义字符、或向引用、或八进制转义符
? 当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串“oooo”,“o+?”将匹配单个“o”,而“o+”将匹配所有“o”。
. 匹配除“\r\n”之外的任何单个字符。要匹配包括“\r\n”在内的任何字符,请使用像“[\s\S]”的模式。
+ 匹配前面表达式或多次
* 匹配前面表达式零或多次
[xyz] 字符集合。匹配所包含的任意一个字符。例如,“[abc]”可以匹配“plain”中的“a”。
[^xyz] 负值字符集合。匹配未包含的任意字符。例如,“[^abc]”可以匹配“plain”中的“plin”。
[a-z]字符范围。匹配指定范围内的任意字符。例如,“[a-z]”可以匹配“a”到“z”范围内的任意小写字母字符。
[^a-z]负值字符范围。匹配任何不在指定范围内的任意字符。例如,“[^a-z]”可以匹配任何不在“a”到“z”范围内的任意字符。
\w 匹配字母或数字或下划线或汉字 等价于 '[^A-Za-z0-9_]' 能不能匹配汉字要视你的操作系统和你的应用环境而定。
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。
\S 匹配任何非空白字符。等价于[^ \f\n\r\t\v]。
\d 匹配一个数字字符。等价于[0-9]。
\D 匹配一个非数字字符。等价于[^0-9]。
\b 匹配一个单词边界,也就是指单词和空格间的位置。例如,“er\b”可以匹配“never”中的“er”,但不能匹配“verb”中的“er”。
\B 匹配非单词边界。“er\B”能匹配“verb”中的“er”,但不能匹配“never”中的“er”。
\t 匹配一个制表符。等价于\x09和\cI。
\W 匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。
--------------------------------------------------
例子
\r\n 换行
^\r\n 空行
\w 数字字母大小写汉字下划线
[\w#] \w加上#号
\w$ 结尾处的\w
^\w 开始处的\w
^\w$ 既是开始处又是结尾处的\w,即单独的\w
^\w+ 重复^\w的匹配
^\w* 重复^\w的匹配或0次^\w的匹配
[^\w] 非\w
--------------------------------------------------
非的表示将原字母大写如\w的非是\W,或[^]如[^\w]
注意:只有连字符在字符组内部时,并且出现在两个字符之间时,才能表示字符的范围; 如果出字符组的开头,则只能表示连字符本身.^在组内组外意义也不同
--------------------------------------------------
常用表达式
字母数字不包括下划线/^[a-zA-Z0-9]+$/或/^[a-zA-Z0-9_]{1,}$/
数字/^[0-9]*$/
9万+

被折叠的 条评论
为什么被折叠?



