Python(11):正则表达式

写在前面


正则表达式

一. 概念

正则表达式是一个特殊的字符序列,可判断一个字符串是否与我们所设定的规则相匹配。除此之外,他能够实现快速检索文本,以及一些替换文本的操作

二. 特殊字符

1. ^

如:^b,意为以b开头

2. .

代表任意字符

3. *

代表前面的字符可以重复任意多遍(包括0次)

4. $

如: 3$,代表以3结尾

5. ()

提取子字符串

import re

line = "bobby123"
regex_str = "(bobby123|bobby)"
match_obj = re.match(regex_str,line)

if match_obj:
    print (match_obj.group(1))
    
# 只有用()提取了子字符串,才能用group函数获取

6. ?

非贪婪匹配模式(即,从字符串左边开始进行匹配。如不加$默认为贪婪匹配模式,即从右边开始匹配)

7. +

字符出现至少一次

8. {}

  • {2} -> 字符出现至少两次
  • {2,} -> 字符出现大于等于两次
  • {2,5} -> 字符出现大于等于两次小于五次

9. |

代表“或”的关系

10. []

  • []中的内容任意一个满足即可
  • 中括号中可以跟一个区间
如电话号码,以1开头,第二位限定为34578中任意一位,然后接9位任意数字

"1[34578][0-9]{9}"
  • 中括号中的^,表示“非”
  • 中括号中的特殊字符不再具备特殊含义

11. \s 和 \S

  • \s -> 代表空格
  • \S -> 代表不为空格

12. \w 和 \W

  • \w -> [A-Za-z0-9_]
  • \W -> 不为\w

13. \u4E00-\u9FA5

代表汉字

14. \d

代表数字


专栏目录

传送门

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值