海外翻墙免费加速器:[入口]
在线测试正则表达式
http://regexr.com/是一个提供在线版的正则式编辑、学习、创建和测试的平台,帮助编程人员快速的编写正则表达式,内置多种转义字符,点击即可添加,同时还拥有在线保存和分享的功能。
1.元字符
模式 | 描述 |
. | 匹配除结束符以外的任意字符,某些情况下不能匹配行起始符 |
^ | 匹配行的开始, 例如 ^The 匹配以The打头的行 |
$ | 匹配行的结束,例如 home$匹配以home结尾的行,^$匹配空行 |
? | 匹配0或1个任意字符 |
* | 匹配0到任意多个任意字符 |
+ | 匹配1到任意多个任意字符 |
{ | 量词起始符 |
} | 量词结束符 |
[ | 字符组的起始符 |
] | 字符组的结束符 |
\ | 转义字符 |
( | 捕获分组的起始符 |
) | 捕获分组的结束符 |
| | 用或(or)的方法进行匹配 |
2. 常用例子
模式 | 描述 |
[] | 字符组 |
() | 用于捕获分组 |
{} | 表示带查找的字符要重复的次数 |
{n,} | 代表前面的字符可以重复n到无穷多次 |
{n1,n2} | 代表前面的字符可以重复n1到n2次 |
[0-9] | 字符组,匹配数字0-9 |
[^0-9] | 字符组,对[0-9]取反,匹配非数字0-9的任意字符 |
[\+\-\*\-] | 字符组,代表加减乘除号 |
\d | 数字字符,匹配任意阿拉伯数字,等同于[0-9] |
\D | 非数字字符,匹配任何一个非数字字符,即\d 取反 |
\w | 小写的\w 单词字符,匹配字母、数字、下划线,即[_a-zA-Z0-9] |
\W | 大写的\W 非单词字符,匹配非单词字符,即对小写\w取反,即[^_a-zA-Z0-9] |
\a | 警告声音输出 |
\b | 退格符 |
\c x | 控制符 |
\f | 换页符 |
\t | 垂直的制表符 |
\v | 小写\v 水平的制表符 |
\V | 大写\V 非水平制表符 |
\h | 水平空白符 |
\H | 非水平空白符 |
\r | 回车符 |
\n | 换行符 |
\0 | 空字符 |
\s | 小写\s 匹配空白符,即,能匹配空格、制表符\t、换行符\n、回车符\r |
\S | 大写\S 匹配非空白符,即小写\s取反 |
\0 XXX | 字符的八进制值 |
\x xx | 字符的十六进制值 |
\u xxx | 字符的Unicode值 |
(?i) | 匹配模式时不区分大小写 |
(?i)the | 匹配THE the The 等 |
3. 举例:捕获分组
将模式放入一对圆括号中,就是将它放进了分组,例如,(\d)\d
4. 举例:非捕获分组
非捕获分组(Non-capturing Group),不会将内容存储在内存中,因此该分组无法被引用,但也因此性能更好
5. 举例:后向引用
捕获分组后,后面可以用\1对捕获的内容进行后向引用,例如,(\d)\d\1,该模式可以匹配数字字符707,101,212, 505, 等等
例子: (?:the|THE|The)
6. 例子若干,自行体会,加强理解
\d+\.?\d* 匹配形如正整数、正小数的字符
\-?\d+\.?\d* 匹配形如正整数、负整数、正小数、负小数的字符
[^\d\+\-\*\/\(\)\.] 匹配这些字符以外的字符:数字字符、加减乘除号、正反括号、小数点
[\+\-\*\/\.]{2,} 匹配连续的加减乘除号、小数点
转载总结:正则表达式一直是编程人员的难点,需要不断的练习才能熟能生巧,转载这篇文章主要用于自己写正则时,有个类似代码字典的东西,增加写正则时的编程效率。没有全文转载,因为后面的太繁琐,还没达到这个境界!!
摘自:http://www.cnblogs.com/huamingao/p/6031411.html
扩展文档:菜鸟教程http://www.runoob.com/python/python-reg-expressions.html
未经允许不得转载:陈海飞博客 » 正则表达式 – 入门篇[转载]