正则表达式

 

\         转义字符

( )       分组标记,内部只能使用 | 操作符

 .           匹配任何单个字符,包括空格

[ ]          匹配括号中的任何一个字符,括号内可以使用连字符“-”来指定字符的区间,比如 [0-9] 匹配任何数字,[A-Za-z] 匹配任何字母

|            将两个匹配条件进行逻辑“或”运算

 

?           将它前面的子表达式 0 或 1 次

+        将它之前的子表达式匹配 n 次,n为任意正整数

*        将它之前的子表达式匹配 n 次,n为任意自然数

{n}       将它之前的子表达式匹配指定的次数

{n,}       将它之前的子表达式匹配不少于指定的次数

{n,m}       将它之前的子表达式匹配不少于指定的下限次,不多于指定的上限次

 

^      将它之后的子表达式作为一行的开始

^      非    (注意这个符号有两种不同含义)

$        将它之后的子表达式作为一行的结尾

 

\d     任意数字,等价于[0-9]

\D    非数字,等同于^[0-9]

\s     换行符、Tab制表符等空白字符

\S    非空白字符

\w    匹配字母或数字或下划线或汉字,即能组成单词的字符

\W     非\w ,等价于^[\w] 

 

贪婪(greedy)匹配:尽可能多的匹配,直到“再贪婪一点儿”其后的匹配模式就没法匹配为止

           +、*的匹配默认是贪婪的

         在+、*后添加 ? 就变成非贪婪模式(? 的另外一个用途):让其后的匹配模式尽早的匹配。

 

posted @ 2018-07-31 15:03  todaynowind  阅读(244)  评论(0编辑  收藏  举报