廖雪峰Python(1)-正则表达式

Email 正则表达式
正则表达式 用户输入
正则表达式中 \d 匹配一个数字
\w 匹配一个数字或者字母
可以匹配的任意字符:
* :任意个字符
+ :表示至少一个字符
:0或者1个字符
{n}:表示n个字符
{n,m}:表示n-m个字符
例:\d{3}\S+\d{3,8}
(1)表示匹配3个数字
(2)\s 可以匹配一个空格
\s+:至少有一个空格:“ ”
(3)\d{3,8} 表示3-8个数字
(4)’-‘字符,用’\’转义
进阶
[]表示范围
[0-9a-zA-Z\_] 可以匹配一个数字,字母,下划线
[0-9a-zA-Z\_] + 匹配至少一个数字,字母,下划线组成的
[a-2A-Z\_][0-9a-zA-Z\_] *字母或下划线开头一个数字,字母或者下划线组成字符串
[a-2A-Z\_][0-9a-zA-Z\_]{0,19} 变量长度1-20字符
A|B 例: (P|p)ython
^:行的开头
^\d:数字开头
$:行的结束
\d $:必须以数字结束
^py$ 整行匹配

re模块: S = 'ABC\\-001'

      S = r'ABC\001'
import re
re.match(r'^\d{3}\-\d{3,8}$','010-12345')
match 是否匹配

匹配成功:Match对象 失败 None
切分字符串
用正则表达式切分字符比用固定灵活
正常切分代码

‘a  b  c'.split('')
re.split(r'\s+','a b c')
re.split(r'[\s\,]+','a,b,c,d')
re.split(r'[\s\,\;]+','a b;;cd')

正则表达式把不规则的输入转换为正确的数组。
分组
正则表达式提取子串的强大功能,用()表示的就是提取的分组Group
^(\d{3})-(\d{3,8})$

例:
m = re.match(r’^(\d{3})-(\d{3.8})$);’010-12345’
group方法,完成相应的提取

group(0)永远是原始的字符串

贪婪匹配:正则匹配默认为贪婪匹配,尽量多匹配
re.match (r’^(\d+)(0*)$’,’102300’).groups()
\d+ 贪婪匹配
0* 匹配空字符串
\d+ 采用非贪婪匹配
加个?就可以让\d+采用非贪婪匹配。

re.match(r'^(\d+?))(0*)$','102300').groups()

re模块

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值