正则表达式

常用元字符

.匹配除换行符以外的任意字符
^匹配字符串的开始(多行情况下匹配每一行的开头)
$匹配字符串的结束(多行情况下匹配每一行的开头)

\b匹配单词的开始或结束
\d匹配一个数字 相当于[0-9]
\s匹配一个空格(也包括Tab等空白符)相当于[\t\n\r\f\v]
\w匹配一个字母或数字 [a-zA-Z0-9]
\A 仅匹配字符串的开头,类似 ^, 但不处理多行
\B 匹配不是单词开头或结束的位置
\D 匹配任意非数字的字符 相当于[^0-9]

\S 匹配任意不是空白符的字符 [^\t\n\r\f\v]
\W 匹配任意不是字母,数字,下划线,汉字的字符 [^a-zA-Z0-9]
[^x] 匹配除了x以外的任意字符
[^abcdef] 匹配除了abcdef这几个字母以外的任意字符
\Z 仅匹配字符串的结尾,类似 $, 但不处理多行 

 常用限定符

*	重复零次或更多次
+	重复一次或更多次
?	重复零次或一次
{n}	重复n次
{n,}	重复n次或更多次
{m,n}	重复m到n次

 贪婪与懒惰(正则匹配默认是贪婪匹配,加个?就可以非贪婪匹配)

*? 	重复任意次,但尽可能少重复
+? 	重复1次或更多次,但尽可能少重复
?? 	重复0次或1次,但尽可能少重复
{n,m}? 	重复n到m次,但尽可能少重复
{n,}? 	重复n次以上,但尽可能少重复

字符转义

\ 来取消这些字符的特殊意义
\\ \
\. .
\* *

分组

(?P<name>...)  通过group方法访问

符号:.、^、$、*、+、?、{}、[]、\、|、()

文件名匹配:?代表一个字符,*代表多个字符

 

 

 

 

posted @ 2015-08-13 16:47  沐风先生  阅读(186)  评论(0编辑  收藏  举报