“在负可变长度后行中使用 \G 来限制后行回溯多远”的示例

2024-02-29

在很棒的正则表达式模块的 pypi 页面中(https://pypi.python.org/pypi/regex https://pypi.python.org/pypi/regex)据说 \G 可以“在负可变长度后向中使用,以限制后向回溯的距离”。非常有趣,但该页面没有给出任何示例,当我尝试想象一个时,我的白带正则表达式只是窒息。

有人可以描述一些示例用例吗?


这是一个使用的示例\G以及创造性的消极回顾:

regex.match(r'\b\w+\b(?:\s(\w+\b)(?<!\G.*\b\1\b.*\b\1\b))*', words)

words应该是由单个空格分隔的字母数字字符的字符串,例如"a b c d e a b b c d".

该模式将匹配一系列唯一的单词。

  • \w+- 匹配第一个单词。
  • (?:\s(\w+\b) )*- 匹配附加单词...
  • (?<!\G.*\b\1\b.*\b\1\b)- ...但是对于添加的每个新单词,请检查它是否已经出现,直到我们到达\G.

模式末尾的回溯仅限于\G可以对当前匹配断言另一个条件,否则这是不可能的。基本上,该模式是以下内容的变体:在正则表达式中使用 AND 逻辑的前瞻 https://stackoverflow.com/q/469913/7586,但不限于整个字符串。

这是一个在 .Net 中,它具有相同的功能。
在 Python 2 中尝试相同的模式findallregex模块给了我一个分段错误,但是match似乎有效。

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

“在负可变长度后行中使用 \G 来限制后行回溯多远”的示例 的相关文章

  • 从终端调用时 uvicorn 不工作

    我尝试通过 pip3 在系统上安装 uvicorn 这有效 但是我无法从命令行运行相同的命令 有关如何解决此问题的任何指示 Requirement already satisfied uvicorn in home vhawk19 loca
  • 正则表达式替换,但仅限于两种模式之间

    好的 我有一个多行字符串 我正在尝试对其进行一些清理 每行可能是也可能不是一大段引用文本的一部分 例子 This line is not quoted This part of the line is not quoted but this
  • 出现导入错误:无法从“随机”导入名称“随机”[重复]

    这个问题在这里已经有答案了 我在我的计算机上多次运行我的代码 但没有出现此错误 但突然间这个来了 File e Python 3 8 0 lib site packages comtypes client code cache py lin
  • Python 将列表中的字符串转换为数字

    我遇到了以下错误消息 以 10 为基数的 int 的文字无效 2 2 外部用单引号括起来 内部用双引号括起来 该数据位于primes列出使用print primes 0 样本数据在primes list 2 3 5 7 The primes
  • cv2.face.mindistancepredictcollector() 错误

    我已经安装了带有额外模块的 opencv 3 1 0 但是当我尝试使用 gt gt gt s cv2 face MinDistancePredictCollector 它返回一个错误 Traceback most recent call l
  • Python中使用cv2获取当前视频播放位置

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

    我有一个目录结构 example py templates init py a py b py a py and b py只有一个类 名称与文件相同 因为它们是猎豹模板 纯粹出于风格原因 我希望能够在中导入和使用这些类example py像
  • 在 python + Flask + Gunicorn + nginx + Compute Engine 应用程序中从 Google Cloud Storage 读取文件失败

    在 python Flask Gunicorn nginx Compute Engine 应用程序中读取从 Google Cloud Storage 下载的文件失败 代码链接 https github com samuq CE test h
  • 使用 sed 替换复杂模式

    我想使用 sed 命令替换模式 要删除的图案如下所示 带有一个空格 var 0xaae8 x6A x6F x69 x6E x72 x65 x76 x65 x72 x73 x65 x73 x70 x6C x69 x74 x3E x74 x70
  • SMTPAuthenticationError: (535, b'5.7.8 用户名和密码在 Django 生产中不被接受?

    我在 Heroku 上部署了一个 Django 应用程序 在其中一节中 我使用 SMTP Gmail 设置向用户发送电子邮件 当我在本地运行项目时 电子邮件发送成功 但在 Heroku 上部署的项目上却发送失败 我在 Stackoverfl
  • Python MySQL 模块

    我正在开发一个需要与 MySQL 数据库交互的 Web 应用程序 但我似乎找不到任何真正适合 Python 的模块 我特别寻找快速模块 能够处理数十万个连接 和查询 所有这些都在短时间内完成 而不会对速度产生重大影响 我想我的答案将是游戏领
  • ValueError:在 R 中使用 keras 模型时在用户代码中

    我正在尝试使用 R 在 R 中运行一维 CNNkeras包裹 我正在使用以下代码 library MASS library keras Create some data data Boston data lt Boston create a
  • 在 Ubuntu 上使用 Python 获取显示器分辨率

    对于 Ubuntu win32api 中是否有与 GetSystemMetrics 相当的代码 我需要获取显示器的宽度和高度 以像素为单位 我可以建议一些可以使用的方法 不过我还没有使用过 xlib 版本 1 xlib Python 程序的
  • 在 (i)python 脚本中从 jupyter 内核获取输出

    我想从单个 ipython 会话中打开多个内核 在这些内核上运行代码 然后收集结果 但我不知道如何收集结果 甚至不知道如何查看 stdout stderr 我怎样才能做这些事情呢 到目前为止我所得到的 我已经使用如下代码管理了前两个步骤 打
  • 为什么全新安装后会有pip和conda包?

    All Windows 10 64 位 d l Anaconda 2 5 0 与 Python3 64 位并安装 全新安装后我输入conda list 并且 在软件包中 我看到 重复像 jupyter 1 0 0 py35 1 jupyte
  • 尝试修复我的功能

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

    我的数据框有问题 我的 df 是 product power brand product 1 3 x 1500W brand A product 2 2x1000W 1x100W product 3 1x1500W 1x500W brand
  • 快速从 RSS feed 获取 img url

    我希望能够从一段字符串中检索 img url 以下是我尝试检索的 img URL 的示例 p img width 357 height 500 src http images sgcafe net 2015 05 OVA1 357x500
  • python 函数返回 javascript date.getTime()

    我正在尝试创建一个简单的 python 函数 它将返回与 javascript 相同的值new Date getTime 方法 如所写here http www w3schools com js js dates asp javascrip
  • Networkx 中 Louvain 分区的可视化

    请帮助我更改 Louvain 聚类算法结果的可视化 我从网站上获取了代码https github com taynaud python louvain https github com taynaud python louvain我可以重写

随机推荐

  • Pyspark 数据框 LIKE 运算符

    Pyspark 中 LIKE 运算符的等效项是什么 例如我想做 SELECT FROM table WHERE column LIKE somestring 寻找像这样简单的东西 但这不起作用 df select column where
  • 如何覆盖 Rails 中的路线路径助手?

    我的路线是这样定义的 match user id gt user show as gt user 如果由于某种原因传递了 nil ID 我希望路由助手仅返回 如果 ID 不为零 我希望它返回正常路径 如 user 123 或者有没有更好的方
  • 通过 PowerShell 在 Firefox 中打开 URL?

    我希望通过 Powershell 脚本在 Firefox 中打开 url 让事情变得有点困难的是 Firefox 不是默认浏览器 它是一个便携式 Firefox 版本 Edit 我的便携式 Firefox 安装似乎存在一些问题 即使将其设置
  • 文本在空间上改变线条

    我有一个列表 其中留有一些用于缩进的空间 并且还提供了虚线底层 但是 那display用于此列表的属性不匹配 导致文本在找到空格时换行 这里有一个Fiddle http jsfiddle net gsamaras cmfL2643 16 T
  • 过滤掉 HTML 标签并解析 python 中的实体

    因为正则表达式让我害怕 所以我试图找到一种方法来删除所有 HTML 标签并从 Python 中的字符串解析 HTML 实体 Use lxml http lxml de 这是 python 最好的 xml html 库 import lxml
  • 为 Android 应用程序设置 ActionBarSherlock 主题

    阅读下面的更新 2 寻找答案 我正在尝试在我的应用程序中使用 ActionBarSherlock 我查看了 4 0 0 版本项目 github 仓库 https github com JakeWharton ActionBarSherloc
  • Flask-SQLAlchemy 超时错误

    我的后端配置是 乌班图12 04 Python 2 7 烧瓶0 9 Flask SQLAlchemy Postgres 9 2 我收到此错误消息 TimeoutError QueuePool limit of size 5 overflow
  • 如何在代码中使用Python覆盖率

    我想从代码内部捕获覆盖范围 我尝试了下面的一种 但出现错误 请参阅以下链接了解覆盖 API https coverage readthedocs io en v4 5 x api html api https coverage readth
  • 为什么我已经安装了 RabbitMQ 却找不到“rabbitmq.config”文件?

    我正在运行 Red Hat Enterprise Linux 7 2 我已经安装了 RabbitMQ 并systemctl status rabbitmq server shows rabbitmq server service LSB 启
  • 使用多个实例和背景大小时,Firefox 背景图像闪烁

    因此 我在页面上有几个共享背景图像的元素 我的页面正在使用 bootstrap 并且两个元素都是 3 列宽度的容器 每个都有一个背景并通过背景大小包含 在第二个元素上 我将背景宽度设置为 90 因此它比其他背景稍小 在 Firefox 中
  • 如何在 Objective-c 中的应用程序的资源文件夹中保存文件

    我正在为 iPhone 开发一个 Objective C 应用程序 我的问题是我的应用程序必须保存从网址获取的图像 我认为该文件夹是只读的 这是我保存图像的代码 void banner NSString path NSData imageD
  • UITableView:自定义标题标题视图不显示

    我想显示一个带有自定义标题标题的表格 这table view被附加到一个controller class实现了tableview delegate和数据源协议 但不是其子类UIViewController因为该表是要显示在另一个表视图之上的
  • 使用 fread() 选择行和列,就像 read.csv.sql() 那样

    I know fread相对较新 但它确实提供了很大的性能改进 我想知道的是 您可以从您正在阅读的文件中选择行和列吗 有点像什么read csv sql做 我知道使用select的选项fread我们可以选择要读取的列 但是如何只读取满足特定
  • 强类型定义[重复]

    这个问题在这里已经有答案了 有什么方法可以制作类型的完整副本 以便可以在模板推导上下文中区分它们 举个例子 include
  • 如何在连接表中按条件接收对象

    我有桌子Games and Badges他们通过桌子连接BadgesGames t integer badge id t integer game id t boolean shown default false I have Game对象
  • Xcode - 共享应用程序 - PackageApplication 失败,退出代码 1

    我使用 Xcode 4 1 为我的 iPhone 应用程序创建了一个临时发行版 目标成功构建并生成了一个存档文件 我可以在管理器中看到该文件 然后我单击 共享 这允许我选择 ipa 和我的分发配置文件 但是 在我点击 下一步 后 管理器崩溃
  • Spark:按元组/列中的多个值对 RDD 进行排序

    所以我有一个RDD如下 RDD String Int String 举个例子 b 1 a a 1 b a 0 b a 0 a 最终结果应该类似于 a 0 a a 0 b a 1 b b 1 a 我该怎么做这样的事情 尝试这个 rdd sor
  • Heroku/GoDaddy:将裸域名发送到 www [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在尝试找出如何让我的网站的裸域重定向到 www 域 我正在使用 Heroku 并拥有 GoDaddy 的域名 由于 Heroku 我的 A 记录已
  • 没有http服务器的Socket.IO?

    我目前正在使用 Nodejs 的 Socket IO 在服务器和一些客户端之间共享一些实时信息 客户端应该只与服务器通信 而不是彼此通信 在 Windows 上一切都很好 我可以共享信息 但当它把东西放到 Linux vps 上时 我遇到了
  • “在负可变长度后行中使用 \G 来限制后行回溯多远”的示例

    在很棒的正则表达式模块的 pypi 页面中 https pypi python org pypi regex https pypi python org pypi regex 据说 G 可以 在负可变长度后向中使用 以限制后向回溯的距离 非