设置详细的正则表达式

2024-03-10

在尝试设置详细的正则表达式时:

# set up variables
ankerwords = ['beerdigt','bestattet','begraben','beigesetzt']

# combine the words, five words before/after
rx = re.compile(r'''
    (?:\b\w+\W+){5} # five words before
    (?:{})
    (?:\W+\w+\b){5} # five words thereafter
    '''.format("|".join(ankerwords)), re.X)

这会引发错误IndexError: tuple index out of range.


I know it's because of the {5} in the expression but how to get around it without splitting the string in several parts, i.e.
'''(?:\b\w+\W+){5}''' + '(?:{})'.format(...)

实际上,这更多的是风格问题。


它告诉我们,使大括号的工作量加倍format将大括号视为普通字符(它会转义它们:如何在 python 字符串中打印文字大括号字符并在其上使用 .format ? https://stackoverflow.com/questions/5466451/how-can-i-print-literal-curly-brace-characters-in-python-string-and-also-use-fo):

rx = re.compile(r'''
    (?:\b\w+\W+){{5}} # five words before
    (?:{})
    (?:\W+\w+\b){{5}} # five words thereafter
    '''.format("|".join(ankerwords)), re.X)

或使用旧样式%格式:

rx = re.compile(r'''
    (?:\b\w+\W+){5} # five words before
    (?:%s)
    (?:\W+\w+\b){5} # five words thereafter
    ''' % ("|".join(ankerwords)), re.X)

在这种情况下另一种方式,因为{5}是重复的,可能是这样的:

rx = re.compile(r'''
    (?:\b\w+\W+){five} # five words before
    (?:{expr})
    (?:\W+\w+\b){five} # five words thereafter
    '''.format(expr="|".join(ankerwords),five="{5}", re.X)

(这避免了双括号并允许一劳永逸地“参数化”单词数量)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置详细的正则表达式 的相关文章

  • 从终端调用时 uvicorn 不工作

    我尝试通过 pip3 在系统上安装 uvicorn 这有效 但是我无法从命令行运行相同的命令 有关如何解决此问题的任何指示 Requirement already satisfied uvicorn in home vhawk19 loca
  • Python中使用cv2获取当前视频播放位置

    我正在尝试使用 CV2 和 Python 从播放视频中获取当前播放时间位置 如果可能 以毫秒为单位 目前我正在使用此示例代码来播放视频文件 import cv2 import numpy as np file name 2 mp4 wind
  • 确定Python模块中的函数是否可用

    我正在研究一些使用Python套接字的代码socket fromfd http docs python org library socket html socket fromfd功能 但是 此方法并非在所有平台上都可用 因此我正在编写一些后
  • 更改Python pylab玫瑰/极坐标图中图例标题的字体大小

    我正在尝试更改玫瑰图或 极地 图上现有图例标题的字体大小 大部分代码是由不在的其他人编写的 我已经添加 ax legend title legend title setp l get title fontsize 8 添加标题 legend
  • 如何使用泛型类型的构造函数

    如何使用 python 泛型类型的构造函数 T typing TypeVar T class MyClass typing Generic T def init self initialValue typing Iterable self
  • 按字段名称对命名元组列表进行排序的 Pythonic 方法

    我想对命名元组列表进行排序 而不必记住字段名的索引 我的解决方案看起来相当尴尬 希望有人能有一个更优雅的解决方案 from operator import itemgetter from collections import namedtu
  • PyPI 项目页面中的“Py 版本”是什么意思?这有关系吗?

    我注意到 大多数在 PyPI 上发布的项目在其项目页面中都包含 Py 版本 元数据 但它们的值各不相同 如果包不是通用包或不是纯 python 包 那么它们的值是不同的 这是可以理解的 以便表示它们的目标平台 例如鼻页 https pypi
  • 电子邮件正则表达式将如何处理新的 unicode 域?

    Since 2009年10月 互联网 名称指定公司和 Numbers ICANN 批准了创建 国家 地区代码顶级域名 ccTLD 在互联网上使用 母语 IDNA 标准 脚本 我很确定大多数网站当前使用的标准正则表达式不会将它们标记为有效 还
  • Python argparse store_true 并将可选选项存储在一个参数中[重复]

    这个问题在这里已经有答案了 我需要识别是否单独给出参数或带有可选字符串或两者都没有 parser add argument options parser parse args so prog py arg 应该存储 进入选项 arg pro
  • 除空字符串外的任何内容的正则表达式

    是否可以使用正则表达式来检测任何不是 空字符串 的内容 如下所示 string s1 string s2 string s3 string s4 etc 我知道我可以使用修剪等 但我想使用正则表达式 s 将匹配任何包含至少一个非空格字符的字
  • 为图例中的点设置固定大小

    我正在制作一些散点图 我想将图例中的点的大小设置为固定的相等值 现在我有这个 import matplotlib pyplot as plt import numpy as np def rand data return np random
  • 在 Docker 容器内运行时,如何自动在 API 路由文件中进行 FASTAPI 拾取更改?

    我通过 docker 运行 FastApi 在 docker compose 中创建一个名为 ingestion data 的服务 我的 Dockerfile FROM tiangolo uvicorn gunicorn fastapi p
  • 如何将时间间隔划分为不同长度的部分?

    我有一个从 0 到t 我想把这个区间分成一个以2 25 2 25 1 5为周期的累积序列 方法如下 input start 0 stop 19 output sequence 0 2 25 4 5 6 8 25 10 5 12 14 25
  • 尝试修复我的功能

    我正在开发一个函数 我必须返回一个元组 其中第一个参数是最大数字的 str 第二个参数是 int 列表 这是示例以及我为该函数编写的内容 投票 G G N G C G 1 3 0 1 您必须将最大值的位置映射到正确的一方 parties N
  • 多线程写入文件

    前几天刚开始使用 python 对多线程的整个概念还很陌生 我在多线程时写入文件时遇到问题 如果我按照常规方式执行此操作 它会不断覆盖正在写入的内容 使用 5 个线程写入文件的正确方法是什么 不降低性能的最佳方法是在所有线程之间使用队列 每
  • 如何替换被测模块的文件访问引用

    pyfakefs https code google com p pyfakefs 听起来非常有用 它 最初是作为核心 Python 模块的一个适度的假实现来开发的 以支持中等复杂的文件系统交互 并于 2006 年 9 月在 Google
  • Python 类方法的示例用例是什么?

    我读了Python 中的类方法有什么用 https stackoverflow com questions 38238 what are class methods in python for但那篇文章中的例子很复杂 我正在寻找 Pytho
  • 用于桌面数据库应用程序的 Python 框架

    是否有一个框架可以为Python开发桌面数据库应用程序 一些带有CRUD屏幕的屏幕 我正在寻找类似于 Windows 窗体的东西 能够将 TextField Combos 和其他 UI 隐喻与datasets连接到关系数据库例如 MySQL
  • 连接运算符 + 或 ,

    var1 abc var2 xyz print literal var1 var2 literalabcxyz print literal var1 var2 literal abc xyz 除了带有 的自动空格之外 两者有什么区别 哪个通
  • Tensorflow ctc_loss_calculator:找不到有效路径

    当运行我的神经网络 双向 LSTM 进行音频识别时 我使用连接主义时间分类 CTC 但在某些时候 训练网络时我几乎每批都会收到来自 Tensorflow 的警告 W tensorflow core util ctc ctc loss cal

随机推荐

  • 如何检查 url 是否加载到 webview 中

    我使用下面的代码在 android webview 中加载 url webviewShowPost loadUrl URL 我想检查是否没有可用的数据连接 然后 webview 可以显示没有连接的 Toast 而不是显示空白视图 Thank
  • 推送通知徽章自动递增

    我一直在为我的应用程序实现推送服务 并且我一直在考虑应用程序的徽章 我的应用程序是一个邮件应用程序 有点 我想通过推送通知用户添加到收件箱的新消息 我想要徽章 收件箱中的新消息数 我想在服务器端 提供商 检查新消息并将数字作为徽章发送 问题
  • 尝试在测试中运行 Rails c 时将 config.eager_load 设置为 nil

    我正在尝试运行轨道 4 1 2 安慰 rails c RAILS ENV test 我得到这个 gt config eager load is set to nil Please update your gt config environm
  • 如何在 osx 上安装 pycairo?

    我正在尝试安装pycairo http cairographics org pycairo Python 绑定开罗图形库 http cairographics org 在 OSX 下 我开始于 easy install pycairo 并得
  • 如何在python中将tcp服务器放在另一个线程上

    我尝试用 python 编写一个守护进程 但我不知道如何使用线程在这个守护进程中启动并行 tcp 服务器 甚至我应该使用什么类型的服务器 asyncore SocketServer socket 这是我的代码的一部分 import os d
  • Fabricjs 计数对象

    有没有办法使用 Fabric js 来计算画布中已有多少对象 function addImage imageName fabric Image fromURL image path imageName function image imag
  • 带有标题的剩余图像网格?

    作为对此的扩展question https stackoverflow com questions 10219634 image grid in restructuredtext sphinx 如何使用 Sphinx 和 reStructu
  • 当我关闭选项卡时 JS ServiceWorker 会发生什么

    当您关闭所有执行 Web Worker 的选项卡时 Worker 将关闭 同样的事情也会发生在 Service Worker 身上吗 与此相关的有两个方面 服务人员登记 这是浏览器中保存的记录 表示 对于此 URL 这些事件应由此脚本处理
  • PHP 从 SimpleXMLElement 数组获取值

    我有这个 1 gt object SimpleXMLElement 6 1 attributes gt array 14 name gt string 5 MySQL acknowledged gt string 1 1 comments
  • 如何在一个图中制作超过10个子图?

    我正在尝试制作 5x4 的子图网格 通过查看示例 在我看来最好的方法是 import matplotlib pyplot as plt plt figure plt subplot 221 其中子图 22 中的前两个数字表示它是一个 2x2
  • SLF4J + Logback 无法登录 WildFly

    我在 WildFly 8 中运行 Web 应用程序 但由于某种原因它没有记录 我使用 SLF4J 和 LOGBACK 日志文件是在部署时创建的 但它是空的 我也没有在 Wildfly 日志中看到我的日志语句 该类包含 package com
  • 如何使用 JodaTime 获取特定月份的最后一个日期?

    我需要第一次约会 如org joda time LocalDate 一个月和最后一个月 获得第一个是微不足道的 但获得最后一个似乎需要一些逻辑 因为月份的长度不同 二月的长度甚至多年来都不同 JodaTime 中是否已经内置了这种机制 或者
  • Synchronized 是否像 Lock.lock() 那样驻留并发线程?

    当我们打电话时lock lock 或尝试输入synchronized如果其他线程已经获取了该锁 那么我们的线程就会阻塞 现在我的问题是 当我们查看实施时lock lock 它将获取锁委托给 AQS AQS 实际上会停放当前线程 以便调度程序
  • 如何在 QML 中重用代码

    我有这段 QML 代码 Column spacing units gu 2 anchors fill parent centerIn parent Row spacing units gu 4 Row spacing units gu 4
  • 如何将变量从一个脚本传递到另一个脚本

    这是一个我无法正常工作的脚本 它的目的是检查一个复选框是否被选中 然后调用第二个 响应的例程 取决于我最初调用脚本时显示的 selectedindex sindex
  • C# 将字符串转换为 ASCII 字节

    我有一个字符串 LogoDataStr ABC0000 我想转换为 ASCII 字节 结果应该是 LogoDataBy 0 0x41 LogoDataBy 1 0x42 LogoDataBy 2 0x43 LogoDataBy 3 0x30
  • 不推荐使用delayWhen RxJs

    I got a Deprecated symbol used 我的 IDE 中出现使用警告delayWhen在我的应用程序中 My code private nextImg Observable
  • 从文件或标准输入读取

    我正在编写一个实用程序 它接受文件名或从标准输入读取 我想知道检查标准输入是否存在 数据正在通过管道传输到程序 以及如果存在则读取该数据的最强大 最快的方法 如果不存在 则处理将在文件名上进行给予 我尝试使用以下测试来确定大小stdin但我
  • OpenCV 数据矩阵代码查找器

    有人写过或听说过用 OpenCV 编写的数据矩阵代码解码器吗 我用的是自带的解码器ZXing http code google com p zxing 不过说实话 还挺糟糕的 它需要是一个完全清晰的图像 使用整个图像 并且不成一个角度 后者
  • 设置详细的正则表达式

    在尝试设置详细的正则表达式时 set up variables ankerwords beerdigt bestattet begraben beigesetzt combine the words five words before af