正则表达式模块的方式:

正如注释中所解释的那样,正则表达式模块允许重用已命名的子模式.不幸的是,在Perl或PCRE中没有(?(DEFINE)……)语法.

因此,当您想要定义命名子模式时,使用相同的解决方法而不是使用Ruby语言,该语言包含{0}量词:

import regex

s = r'''

// NOTE: A small example

// HACK: Another example

// HACK: Another example

// HACK: Another example

'''

p = r'''

# subpattern definitions

(? \b(?:NOTE|LEGACY|HACK|TODO|FIXME|XXX|BUG) ){0}

(? \d{4}-\d{2}-\d{2} ){0}

(? [pts]:\w+ ){0}

# main pattern

(? (?&TAG) ) : \s*

(? (?>[^\s

<

(? (?: \w{3} \s* , \s* )*+ \w{3} )? \s*

(? (?&DATE) )?

(? (?&FLAGS) )?

>

$

'''

rgx = regex.compile(p, regex.VERBOSE | regex.MULTILINE)

for m in rgx.finditer(s):

print (m.group('tag'))

注意:子模式也可以在模式的末尾定义.

python里的define怎么用_如何用(?(DEFINE))在Python中编写正则表达式?相关推荐

  1. python手机小游戏刷分器_如何用5行Python代码写出刷分游戏脚本!Python真牛!

    几天前, 我母上大人在我们家群里发了一条消息 一看这文案, 就知道又是一个骗流量的小游戏, 一看就让人没什么兴趣... 但是出于对我母上大人的尊(hào)重(qí)我还是点进来看了一下 游戏链接: 游 ...

  2. python模拟别人说话的声音_如何用100行Python代码做出魔性声控游戏“八分音符酱”...

    最近几天,一款魔性的小游戏在微博上刷屏了,各大平台的主播也纷纷如感染病毒一样直播自己怎么玩这个游戏(被游戏玩). 这个游戏叫做<不要停!八分音符酱♪>.它是一款来自岛国的恶搞游戏,主角是一 ...

  3. python用类名直接调用方法_一文读全 Python 的面向对象编程方法

    背景介绍: Python 支持三种形式的编程,分别是:"命令式"."函数式"和"面向对象式". 很多优秀的开源 Python 项目里都用到了 ...

  4. 为什么在Python里推荐使用多进程而不是多线程?(为什么python多线程无法增加CPU使用率?)...

    最近在看Python的多线程,经常我们会听到老手说:"Python下多线程是鸡肋,推荐使用多进程!",但是为什么这么说呢? 要知其然,更要知其所以然.所以有了下面的深入研究: 首先 ...

  5. python里面两个大于号_【课堂笔记】Python常用的数值类型有哪些?

    学习了视频课程<财务Python基础>,小编特为大家归纳了Python常用的数值类型和运算符,大家一起来查缺补漏吧~~ 数值类型 整型(int):整型对应我们现实世界的整数,比如1,2,1 ...

  6. python输入什么就输出什么_一文读懂Python的输入和输出

    本文介绍了Python的输入和输出,既然是Python代码,那么就一定有输出量,那么,Python是如何输出的呢? 输出 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字.比如输出'h ...

  7. python if条件思维导图_跟老齐学Python之从if开始语句的征程

    一般编程的教材,都是要把所有的变量类型讲完,然后才讲语句.这种讲法,其实不符合学习的特点.学习,就是要循序渐进的.在这点上,我可以很吹一通了,因为我做过教师,研究教育教学,算是有一点心得的.所以,我在 ...

  8. python十个运维实战项目_干货 | 这4个Python实战项目,让你瞬间读懂Python!

    Python是一种极具可读性和通用性的编程语言.Python这个名字的灵感来自于英国喜剧团体Monty Python,它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣.Python易于设置, ...

  9. python9行代码_如何用9行Python代码编写一个简易神经网络

    原标题:如何用9行Python代码编写一个简易神经网络 Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 学习人工智能时,我给自己定了一个目标--用Pyth ...

  10. python能干啥是什么意思_这年头不懂点Python都不好意思说是码农 神奇的Python都能干啥...

    原标题:这年头不懂点Python都不好意思说是码农 神奇的Python都能干啥 如果你在周末.有WIFI的房间里不知道做什么,不如学下Python吧.有了它,你可以什么都不需要! 基础需求篇 温饱与空 ...

最新文章

  1. c语言findnext递归扫描文件,C++用FindFirstFile、FindNext递归遍历硬盘的文件-Go语言中文社区...
  2. DedeCms织梦发布文章时输入Tag标签逗号自动变成英文标点的方法
  3. Java - 探究前后分离带来的跨域问题
  4. linux下字符串操作,Linux Bash 中字符串操作
  5. ibatis 中 $与#的区别
  6. MySQL安装与设置
  7. Shanghai Barcamp
  8. Exchange队列优先级介绍和配置
  9. 十多款优秀的Vue组件库介绍
  10. currenthashmap如何实现线程安全_Java的List如何实现线程安全?
  11. 微软欲打造开发者联盟!
  12. vue2.0实现分页组件
  13. 华为p50 pro 鸿蒙,华为P50Pro真豪横!鸿蒙系统+真全屏5摄,网友:太香了!
  14. mysql能将查询结果与表左查询_mysql重点,表查询操作和多表查询
  15. 13个Python必备的知识,建议收藏
  16. 电脑没有声音提示“外设似乎没有插上”怎么办
  17. O2O商业模式的现状以及发展趋势是什么?
  18. nginx配置禁止访问目录或禁止访问目录下的文件
  19. linux内核参数分析,linux内核启动第一阶段分析
  20. lammps npt系综iso和aniso控压对比

热门文章

  1. 深入ASP.NET MVC之七:ActionResult的执行(View的加载和渲染)
  2. 初识 Oracle 11g
  3. 辅助类——掌握内容管道
  4. 从github上下载单个文件
  5. PHP设定美国东部时区,PHP中设置时区方法总结
  6. 排序数字英文字母交错,由小到大
  7. 凯恩帝k1000ti参数设置_KND1000TI系统参数
  8. 力扣452 用最少的箭引爆气球(个人感悟向,非完整代码)
  9. String 和 StringBuffrer 的区别
  10. 怎么将layui导入php中,layui怎么导入Excel