python中的嵌套正则表达式

2024-02-13

在 Perl 中我可以这样做:

$number = qr/ zero | one | two | three | four | five | six | seven | eight | nine /ix;
$foo = qr/ quantity: \s* $number /ix;

我的实际正则表达式有很多行,并且处理两位数和序数(例如,“二十二”、“四十四”和“十二都是完全匹配),并且我在多个地方使用它。这个表达式编译速度很快,但这肯定是不平凡的。我更喜欢编译一次,然后将其添加到其他正则表达式中,正如 Perl 允许的那样。

有没有办法在Python中以这种方式嵌套正则表达式?


在 python 中,您可以通过将字符串传递给 re.compile 来构建正则表达式。 您可以通过执行常规字符串操作来“嵌套”正则表达式:

#!/usr/bin/env python
import re
number = 'zero | one | two | three | four | five | six | seven | eight | nine'
foo = re.compile(' quantity: \s* (%s) '%number,re.VERBOSE|re.IGNORECASE)
teststr=' quantity:    five '
print(foo.findall(teststr))
# ['five']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python中的嵌套正则表达式 的相关文章

  • scipy 将一个稀疏矩阵的所有行附加到另一个稀疏矩阵

    我有一个 numpy 矩阵 想在其中附加另一个矩阵 这两个矩阵的形状为 m1 shape 2777 5902 m2 shape 695 5902 我想将 m2 附加到 m1 以便新矩阵的形状为 m new shape 3472 5902 当
  • 使用 matplotlib 从“列表列表”绘制 3D 曲面

    我已经搜索了一些 虽然我可以找到许多有用的网格网格示例 但没有一个清楚地表明我如何将列表列表中的数据转换为可接受的形式 以适应我所讨论的各种方式 当谈到 numpy matplotlib 以及我所看到的建议的术语和步骤顺序时 我有点迷失 我
  • 递归 lambda 表达式可能吗?

    我正在尝试编写一个调用自身的 lambda 表达式 但我似乎找不到任何语法 或者即使它是可能的 本质上我想将以下函数传输到以下 lambda 表达式中 我意识到这是一个愚蠢的应用程序 它只是添加 但我正在探索可以在 python 中使用 l
  • 补丁 - 为什么相对补丁目标名称不起作用?

    我已经从模块导入了一个类 但是当我尝试修补类名而不使用模块作为前缀时 出现类型错误 TypeError Need a valid target to patch You supplied MyClass 例如 以下代码给出了上述错误 imp
  • 为什么删除临时文件时出现WindowsError?

    我创建了一个临时文件 向创建的文件添加了一些数据 已保存 然后尝试将其删除 但我越来越WindowsError 编辑后我已关闭该文件 如何检查哪个其他进程正在访问该文件 C Documents and Settings Administra
  • Pandas:GroupBy 到 DataFrame

    参考这个关于 groupby 到 dataframe 的非常流行的问题 https stackoverflow com questions 10373660 converting a pandas groupby object to dat
  • 如何检查python xlrd库中的excel文件是否有效

    有什么办法与xlrd库来检查您使用的文件是否是有效的 Excel 文件 我知道还有其他库可以检查文件头 我可以使用文件扩展名检查 但为了多平台性我想知道是否有任何我可以使用的功能xlrd库本身在尝试打开文件时可能会返回类似 false 的内
  • Python3.0 - 标记化和取消标记化

    我正在使用类似于以下简化脚本的内容来解析较大文件中的 python 片段 import io import tokenize src foo bar src bytes src encode src io BytesIO src src l
  • 如果未引发异常,则通过 Python 单元测试

    在Python中unittest框架 是否有一种方法可以在未引发异常的情况下通过单元测试 否则会因 AssertRaise 而失败 如果我正确理解你的问题 你could做这样的事情 def test does not raise on va
  • 在没有模型的情况下将自定义页面添加到 django admin

    我正在尝试在没有模型关联的情况下向管理员添加自定义页面 这就是我迄今为止所取得的成就 class MyCustomAdmin AdminSite def get urls self from django conf urls import
  • 在 Django OAuth Toolkit 中安全创建新应用程序

    如何将 IsAdminUser 权限添加到 Django OAuth Toolkit 中的 o applications 视图 REST FRAMEWORK DEFAULT PERMISSION CLASSES rest framework
  • 结构差异 sudo() run('sudo 命令')

    我想知道函数之间有什么区别sudo 和函数run sudo u user smth 文档上有 sudo 在所有运行方式上都是相同的 除了它总是换行 调用 sudo 程序中的给定命令以提供超级用户 特权 但有几次 sudo cmd 提示我输入
  • 在 matplotlib 中的极坐标图上移动径向刻度标签

    From matplotlib 示例 http matplotlib org examples pylab examples polar demo html import numpy as np import seaborn as sbs
  • Gspread如何复制sheet

    在 Stackoverflow 上进行谷歌搜索和搜索后 我想我找不到有关如何复制现有工作表 现有模板工作表 并将其保存到另一个工作表中的指南 根据文档 有重复表 https gspread readthedocs io en latest
  • Python新式类和__subclasses__函数

    有人可以向我解释为什么这有效 在 Python 2 5 中 class Foo object pass class Bar Foo pass print Foo subclasses 但这不是 class Foo pass class Ba
  • 使用 python 绘制正值小提琴图

    我发现小提琴图信息丰富且有用 我使用 python 库 seaborn 然而 当应用于正值时 它们几乎总是在低端显示负值 我发现这确实具有误导性 尤其是在处理现实数据集时 在seaborn的官方文档中https seaborn pydata
  • 在系统托盘中隐藏 tkinter 窗口 [重复]

    这个问题在这里已经有答案了 我正在制作一个程序来提醒我朋友的生日 这样我就不会忘记祝福他们 为此 我制作了两个 tkinter 窗口 1 First one is for entering name and birth date 2 Sec
  • python 线程安全可变对象复制

    Is 蟒蛇的copy http docs python org 2 library copy html模块线程安全吗 如果不是 我应该如何在 python 中以线程安全的方式复制 deepcopy 可变对象 蟒蛇的GIL http en w
  • 使用ssl和socket的python客户端身份验证

    我有一个 python 服务器 需要客户端使用证书进行身份验证 我如何制作一个客户端脚本 使用客户端证书由 python 中的服务器使用 ssl 和套接字模块进行身份验证 有没有仅使用套接字和 ssl 而不扭曲的示例 from OpenSS
  • 查找总和为给定数字的值组合的函数

    这个帖子查找提供的 Sum 值的组合 https stackoverflow com a 20194023 1561176呈现函数subsets with sum 它在数组中查找总和等于给定值的值的组合 但由于这个帖子已经有6年多了 我发这

随机推荐

  • Webpack 4 和 Uglify 插件(TypeError:无法读取未定义的属性“长度”)

    我在 Linux 机器上使用 Webpack 4 时遇到问题 构建在开发模式下运行良好 但在生产模式下失败 它似乎也可以在 Windows 机器上运行 我确实尝试将 webpack 降级到旧版本 但什么也没做 节点js v10 2 1 Ty
  • 如何将第一个 POSIX `[:cntrl:]` 字符与旧版 BSD `awk` 匹配?

    我想将输入字符串的第一个 ASCII 控制字符与awk但我偶然发现了旧版 BSD 上的一个错误 bin bash printf a b c n awk match 0 cntrl print RSTART 1 预期输出为 3 代码可能有什么
  • JAVA:如何使用公共证书和私钥建立SSL连接

    我希望能就我今天遇到的问题获得一些帮助 我正在尝试使用我们客户之一的服务器对我的客户端进行身份验证 我可以通过发出以下命令来执行此操作 卷曲 v k H 内容类型 application json key privkey pem cert
  • 在 iOS 中使用 LDAP 进行身份验证

    我一直在寻找有关在 iOS 设备上使用 LDAP 的教程 这可能吗 我还没有看到任何关于它的文章或教程 是否还有其他方法可以针对我的 Active Directory 进行身份验证 有人能指出我正确的方向吗 我的 iOS Ports 项目中
  • F# 中序列表达式的类型推断

    我想我不太明白 F 如何推断序列表达式中的类型 以及为什么即使我直接从 seq 指定元素的类型也无法正确识别类型 在以下 F 代码中 我们有一个基类 A 和两个派生类 B 和 C type A x member a X x type B x
  • Hibernate:如何使用条件查询从组合键获取记录

    我已将复合文件添加到 hbm 文件中 如下所示
  • LINQ 选择项的 Lambda 表达式

    我有这个代码 var list db Projects Where item gt item Loc IN Select p gt new id p Id title p Title pc p PostalCode 项目表有很多列 我需要动
  • 如何将索引像素格式图像转换为 32 位图像?

    我获取了一个图像并尝试使用 Graphics FromImage image 加载到图形对象中 但是如果图像具有索引像素格式 则会引发异常 有没有办法安全地转换索引图像 Update 感谢 Joe 提供的提示 将旧图像绘制在新图像上 而不是
  • 如何将 gsutil 与多个帐户一起使用?

    我经常使用至少两个帐户的 Google Cloud Storage 电子邮件受保护 cdn cgi l email protection and 电子邮件受保护 cdn cgi l email protection 我用了gsutil co
  • 如何从打字稿访问垫菜单触发器

    我有以下 html
  • 如何以编程方式打开 Android Q 中的“设置”面板?

    As per 安卓Q新功能 有一个内联设置面板显示关键连接设置 使用户可以修改不同的连接设置 例如飞行模式 wifi 音量 NFC 和互联网连接 我怎样才能打开它以编程方式设置面板从我的应用程序 就像下面的屏幕截图一样 使用 Android
  • sum 函数如何在 python 中与 for 循环一起工作[重复]

    这个问题在这里已经有答案了 我在python中使用sum函数 我很清楚它的一般结构sum 可迭代 开始 但我无法理解以下代码背后的逻辑 test sum 5 for i in range 5 print output test 输出 25
  • Android:addTextChangedListener 无法正常工作

    我想对用户在其中输入的内容做出反应EditText所以我用了addTextChangedListener方法 当用户输入单个字符时 代码为onTextChanged正在运行 一切正常 例如 如果用户输入 a 那么onTextChanged将
  • ggplot2 以轴单位指定点大小

    我想从一个简单的数据集中绘制一个矩形内有大点的图 我想在不同方面显示可能有多个结果 问题是矩形的大小 使用geom rect 以轴单位定义 而size的论证geom point是在其他一些单位 因此 矩形上的点的相对大小根据面的数量而变化
  • 浏览器后退按钮处理

    我正在尝试处理浏览器后退按钮事件 但找不到任何解决方案 我想询问用户是否使用 确认框 单击浏览器后退按钮 如果他选择 确定 我必须允许后退按钮操作 否则我必须停止后退按钮操作 任何人都可以帮助我实现这一点 如果按下后退按钮 则警告 确认用户
  • 在 XElement.Load 上保留 \r\n

    有没有办法可以在 XElement Load 上保留 r n TextReader reader new StringReader rawInputString rawInputString is just text in html for
  • 关于清单中的全屏和无标题栏

    我想将我的应用程序设置为全屏视图 我想到将其设置在个人活动中使用FullScreen and NoTitlebar 但我想在整个应用程序的清单 XML 文件中设置它 而不是每个活动 这可能吗 帮助我 谢谢 要将您的应用程序或任何单独的活动显
  • 如何通过单击 ASP.NET 中的图像按钮来传输 zip 文件?

    我的问题 当用户单击 aspx 页面上的图像按钮时 代码隐藏会创建一个 zip 文件 然后我尝试将该 zip 文件流式传输给用户 为了流式传输文件 我使用以下代码 FileInfo toDownload new FileInfo fullF
  • C# 8 switch 表达式不够“智能”

    这段代码很简单 只是一个普通的开关 bool isSomething strSomething switch I gt true D gt false gt null 但是 编译器给了我以下错误 CS0037 无法将 null 转换为 bo
  • python中的嵌套正则表达式

    在 Perl 中我可以这样做 number qr zero one two three four five six seven eight nine ix foo qr quantity s number ix 我的实际正则表达式有很多行