RPA教学:正则表达式使用系列(六)贪婪模式与非贪婪模式

324 篇文章 27 订阅
131 篇文章 9 订阅

关注RPA请访问网站:
www.i-search.com.cn
学Python,用RPA,欢迎下载使用
https://www.i-search.com.cn/?from=csdn

贪婪模式与非贪婪模式
贪婪模式:在整个表达式匹配成功的前提下,尽可能多的匹配 (*);
非贪婪模式:在整个表达式匹配成功的前提下,尽可能少的匹配 (?);
Python 里数量词默认是贪婪的。
示例一

import re
str = ‘abbbc’
# 贪婪模式
pattern = re.compile(r’ab*’) # * 决定了尽可能多匹配 b,结果是 abbb
result = pattern.match(str)
print(result.group())
# 非贪婪模式
pattern = re.compile(r’ab*?’) # *? 决定了尽可能少匹配 b,结果是 a
result = pattern.match(str)
print(result.group())
pattern = re.compile(r’ab+?’) # *? 决定了尽可能少匹配 b,结果是 ab
result = pattern.match(str)
print(result.group())
在这里插入图片描述

示例二

import re
# 贪婪模式
str = “aa

test1
bb
test2
cc”
pattern = re.compile(r’
.
’) # 决 定 了 尽 可 能 多 匹 配 b, 结 果 是

test1
bb
test2
result = pattern.search(str) print(result.group()) # 非贪婪模式 str = "aa
test1
bb
test2
cc" pattern = re.compile(r'
.*?
') # *? 决定了尽可能少匹配 b,结果是
test1
result = pattern.search(str) print(result.group()) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201124114418780.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ0NzY4Nw==,size_16,color_FFFFFF,t_70#pic_center)

正则表达式测试网址
http://tool.oschina.net/regex/

匹配中文
中文的 unicode 编码范围 主要在 [u4e00-u9fa5] (全角(中文)标点等除外),丌过,
在大部分情况下,应该是够用的。
假设现在想把字符串 title = u’你好,hello,世界’ 中的中文提取出来,可以这么做:

import re
title = ‘你好,hello,世界’
pattern = re.compile(r’[\u4e00-\u9fa5]+’)
result = pattern.findall(title)
print(result)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值