【Python学习笔记】正则表达式

Ref:https://deerchao.net/tutorials/regex/regex.htm#greedyandlazy

1. 常用元字符

2.字符转义

查找元字符本身时,需要使用\来取消这些字符的特殊意义。因此,应该使用\.和\*。查找\本身时也得用\\.

3.重复

e.g: Windows\d+   :   匹配Windows后面跟1个或更多数字

扫描二维码关注公众号,回复: 5143291 查看本文章

4. 查找特定数字、字幕或符号

只需要在方括号里列出它们就行了,像[aeiou]就匹配任何一个英文元音字母,[.?!]匹配标点符号(.或?或!)。

我们也可以轻松地指定一个字符范围,[0-9]代表的含意与\d就是完全一致的:一位数字

5. 分支(或运算)

有几种规则,如果满足其中任意一种规则都应该当成匹配,具体方法是用|把不同的规则分隔开。

e.g:0\d{2}-\d{8}|0\d{3}-\d{7}这个表达式能匹配两种以连字号分隔的电话号码:一种是三位区号,8位本地号(如010-12345678),一种是4位区号,7位本地号(0376-2233445)

6. 分组

想要重复多个字符又该怎么办?你可以用小括号来指定子表达式(也叫做分组),然后你就可以指定这个子表达式的重复次数了,你也可以对子表达式进行其它一些操作。

e.g:(\d{1,3}\.){3}\d{1,3}是一个简单的IP地址匹配表达式。要理解这个表达式,请按下列顺序分析它:\d{1,3}匹配1到3位的数字,(\d{1,3}\.){3}匹配三位数字加上一个英文句号(这个整体也就是这个分组)重复3次,最后再加上一个一到三位的数字(\d{1,3})。

即匹配的表达式形式为: xxx.xxx.xxx.(匹配三次1-3位的数字:(\d{1,3}\.){3}\)+xxx(最后加上一到3位:\d{1,3})

7. 贪婪和懒惰匹配(运算符为 ‘?’)

8. 反义

 

猜你喜欢

转载自www.cnblogs.com/YunyiGuang/p/10349223.html