正则总结
".(点)" : 匹配任意一个字符,换行符除外。
"[]" : 匹配中括号中任意一个字符。例如:正则表达式a[abc]a,可以匹配:aaa , aba , aca,[aaa]与[a]等同,[.]表示匹配句号
"-(短横线)" : 表示范围。[A-Z]表示[ABCDEFGHIJKLMNOPQRSTUVWXYZ],[1-9]表示[123456789],[0-9.,]匹配一个数字或句号或逗号,[a-zA-Z0-9\-]匹配字母数字或短横线
"^" : 排除,相反的。[^a]表示任何不是“a”的字符
"\" : 转义。
\d : [0-9],
\w:[0-9A-Za-z],
\s:一个空字符(空格,制表符,回车或者换行),
\D:[^0-9],
\W:[^0-9A-Za-z],
\S:一个非空字符。
\b:单词分隔符,宽度为0,不是真实字符,a\ba不能匹配任何东西。\b\w\w\w\b表示匹配一个三字母单词
"{}" : 重复。a{3} : “aaa”,a{0} : "",a{3,5}匹配aaaaa或者aaaa或者aaa,
- a{1,}表示匹配一个或一个以上的连续字符a。依然是匹配最长字符串。当找到第一个a之后,正则表达式会尝试匹配尽量多个的连续字母a。
- .{0,}表示匹配任意内容。无论你输入的文本是什么,即使是一个空字符串,这个正则表达式都会成功匹配全文并返回结果。
一对双引号中间不再包含其他的双引号:"[^"]{0,}"
?与{0,1}相同,
*与{0,}相同,
+与{1,}相同。比如,\w+表示匹配一个词。其中”一个词”表示由一个或一个以上的字符组成的字符串.
“|” : 选择匹配。例 : a|b|c与[abc]相同,aaa|sss|\||表示匹配”aaa”或者”sss”或者一个分隔符”|“,或空串
"()" : 分组。\w+\W+\w+\W+\w+
: \w+(\W+\w+){2}
匹配行:
- ^表示匹配行的开始位置
- $表示匹配行的结束位置
- ^&表示一个空行
^.*&
表示匹配全文内容,因为行的开始符号也是一个字符,"."会匹配这个符号。找到单独的一行,可以使用
^.*?$- \^\$表示匹配字符串“^$”
- [$]表示匹配一个$。但是,[^]不是合法的正则表达式。
-
在很多的正则表达式实现中,将^和$作为文本的开始符号和结束符号。还有一些实现中,用\A和\z作为文本的开始和结束符号。
后面捕获部分看原文,我只想记录些标记,记不住的时候好查
读后笔记:http://blog.jobbole.com/63398/