python 66:re正则表达式6(全- tcy)
发布日期:2021-06-29 14:48:16 浏览次数:3 分类:技术文章

本文共 1426 字,大约阅读时间需要 4 分钟。

 

目录:

前向界定与后向界定  2018/12/21

说明:

1)定义:'(?<=…)' 前向界定 # '…' 匹配字符串的前面应该出现的字符串'(?=…)' 后向界定  # '…' 代表你希望匹配的字符串后面应该出现的字符串。'(?

实例:

# 实例1:前向界定- 断言自身出现的位置的前面能匹配表达式exps=r"reading a book"re.findall(r'(?<=\bre)\w+\b',s)       #匹配以re开头的后半部分(除re部分)#['ading']s=r"1,234,567,890"re.findall(r'((?<=\d),\d{3})+\b',s)   #[',890']s=r"1 234 567 890"re.findall(r'((?<=\d)\s*\d{3})+\s*',s)#[' 890']# 实例2:后向界定-s=r"I'm singing while you're dancing."#匹配sing和dancre.findall(r'\b\w+(?=ing\b)',s)       #匹配以ing结尾的前面部分(除ing部分)#['sing', 'danc']# 实例2:使用组方式s = 'aaa111aaa , bbb222 , 333ccc 're.findall (r'[a-z]+(\d+)[a-z]+' , s )# ['111']# 实例2:后向界定-希望匹配后面不跟着字母的数字s = 'aaa111aaa , bbb222 , 333ccc 're.findall( r'\d+(?!\w+)' , s )       # ['222']re.findall( r'\d+(?![a-z]+)' , s )    # ['11', '222', '33']'111' 和 '222' 前两个数字也满足要求s=r"Iraq fighting"re.findall(r'\b\w*q[^u]\w*\b',s)      #['Iraq fighting']re.findall(r'\b\w*q(?!u)\w*\b',s)     #['Iraq'] 查找单词--里面有字母q,q后不是字母u# 实例3:前向界定,后向界定 - 找出 c 语言的注释中的内容s='/* comment 1 */ code /* comment 2 */'re.findall(r'(?<=/\*).+?(?=\*/)',s)   #[' comment 1 ', ' comment 2 ']# 实例3:找到被字母夹在中间的数字s = 'aaa111aaa , bbb222 , 333ccc 're.findall( r'(?<=[a-z]+)\d+(?=[a-z]+)' , s )  # 错误re.findall( r'\d+(?=[a-z]+)', s )              #['111', '333']# 实例4:前向非界定s=r"AbC 1234 this"re.findall(r'(?
\w+)\b\s+\k
\b' #等价# 表达式先是一个单词,即单词开始和结束处之间多于一个的字母或数字(\b(\w+)\b)# 单词会被捕获到编号1分组中,然后是1个或几个空白符(\s+)# 最后是分组1中捕获的内容(也就是前面匹配的那个单词)(\1) 

转载地址:https://chunyou.blog.csdn.net/article/details/85157297 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python 66:re正则表达式7(全- tcy)
下一篇:python 66:re正则表达式5(全- tcy)

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月30日 02时15分11秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

Oracle TIPS查数据库名 创建临时表空间 创建表空间 新增数据库文件 创建用户 2019-04-29
Subtitld: 一个跨平台的开源字幕编辑器 | Linux 中国 2019-04-29
硬核观察 #310 中国的火星车、空间站等航天器使用麒麟操作系统 2019-04-29
硬核观察 #311 国产 RISC-V 处理器“香山”,已成功运行 Linux 2019-04-29
用 Eleventy 建立一个静态网站 | Linux 中国 2019-04-29
自由/开源软件如何保护在线隐私 | Linux 中国 2019-04-29
网上相会,何如线下小酌:LLUG 北京发起首次活动邀约 | Linux 中国 2019-04-29
阿里云马涛:什么是操作系统的云原生? 2019-04-29
Cube.js:试试这个新的数据分析开源工具 | Linux 中国 2019-04-29
硬核观察 #312 苹果称第三方应用程序商店将使 iPhone 向骗子开放 2019-04-29
在 Linux 上用 fd 代替 find | Linux 中国 2019-04-29
硬核观察 #313 微软正式宣布推出 Windows 11 操作系统 2019-04-29
为什么在 2021 年我仍然推荐你使用 Linux | Linux 中国 2019-04-29
用 Forklift 将虚拟机迁移到 Kubernetes 上 | Linux 中国 2019-04-29
用于调度任务的 systemd 定时器 | Linux 中国 2019-04-29
硬核观察 #314 Windows 11 将提供 Windows Subsystem for Android 2019-04-29
使用 QEMU 尝鲜 Windows 11 | Linux 中国 2019-04-29
13 个 Linux 5.13 中最值得关注的变化 | Linux 中国 2019-04-29
硬核观察 #315 华为工程师向 Linux 内核提出一项“华为摘要列表”功能建议 2019-04-29
KTorrent:KDE 上的一个非常有用的 BitTorrent 应用 | Linux 中国 2019-04-29