python中的正则表达式

  • 使用正则表达式需要导入re模块,去匹配或者提取字符串
  • 一、findall方法:找到所有匹配的子字符串,并且返回一个列表。
import re

str1 = "Hello World!"
print(re.findall('l', str1))
print(re.findall('ll', str1))
print(re.findall('lll', str1))
['l', 'l', 'l']
['ll']
[]
  • 二、match方法:从起始位找到返回匹配对象,没有找到返回None
import re

str2 = "Hello World!"
print(re.match('l', str2))
print(re.match('h', str2))
print("找到返回对象:", re.match('H', str2))
print("找到返回位置:", re.match('H', str2).span())
print("找到返回字符串:", re.match('H', str2).group())
None
None
找到返回对象: <re.Match object; span=(0, 1), match='H'>
找到返回位置: (0, 1)
找到返回字符串: H
  • 三、search方法:查找整个字符串,找到第一个时,就返回匹配对象,即使后面还有一致的,也不进行查找,没有找到则返回None
import re

str3 = "Hello World!"
print(re.search('h', str3))
print("找到返回对象:", re.search('l', str3))
print("找到返回位置:", re.search('l', str3).span())
print("找到返回字符串:", re.search('l', str3).group())
None
找到返回对象: <re.Match object; span=(2, 3), match='l'>
找到返回位置: (2, 3)
找到返回字符串: l
  • 元字符
字符描述
.匹配任意一个字符,除了\n
[]匹配[]中列举的字符
\d匹配数字,即0-9
\D匹配非数字
\s匹配空白,即空格、tab键
\S匹配非空白
\w匹配单词符,即a-z、A-Z、0-9、_(下划线)
\W匹配非单词符
*匹配前一个字符出现0次或者无限次,即这个字符可以不出现(可有可无)
+匹配前一个字符出现1次或者无限次,即这个字符至少出现1次
匹配前一个字符出现0次或者1次,即要么出现1次,要么不出现
{m}匹配前一个字符出现m次
{m,}匹配前一个字符至少出现m次
{m,n}匹配前一个字符出现从m到n次
^匹配字符串开头
$匹配字符串结尾
\b匹配一个单词的边界
\匹配左右任意一个表达式
(ab)将括号中的字符ab作为一个分组
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值