正则表达式:为什么这种消极的前瞻不起作用?

2024-01-24

我有这样的文字

real:: a
real :: b
real c

现在我想匹配那些真实的没有::接下来,在这种情况下,我只想匹配第三个实数。所以我尝试了正则表达式和前瞻

real\s*(?!::)

但这匹配

real :: b
real c

For \s*意味着零个或多个\s, why real :: b正在匹配?

update

感谢维克托·斯特里比泽夫。使用regex101调试工具。我们可以找backtrack让事情变得复杂。

我想出了另一个类似的任务,但我无法解决

real (xx(yy)) :: a
real (zz(pp)):: b
real (cc(rr)) c

再次,我想匹配real (cc(rr))这是没有::下列的。

real\s*\(.*?\)+(?!\s*::)

这就是我尝试过的,但失败了。查看正则表达式调试,也是由于回溯。但如何正确地做到这一点呢?


你需要把\s*进入前瞻:

real(?!\s*::)

See the 正则表达式演示 https://regex101.com/r/rW3wT8/1

The real\s*(?!::)火柴real因为real火柴real,那么\s*匹配 0 个或多个空格,则先行匹配失败:: 和引擎回溯,也就是说,它释放了与\s*并尝试重新匹配该字符串。自从\s*可以匹配空字符串,real before :: b得到匹配。

See the 正则表达式调试器regex101 的方案 https://regex101.com/r/qY8dW5/1显示幕后发生的事情:

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

正则表达式:为什么这种消极的前瞻不起作用? 的相关文章

  • 正则表达式,如果模式在引号中则忽略模式

    编写一个非常简单的脚本解析器作为学校项目的一部分 虽然这不是必需的 但我很好奇是否可以仅使用正则表达式来完成 语法类似于 ASP 其中脚本以 结尾 它只支持一个命令 pr 与echo或Response Write相同 现在我正在使用这个正则
  • MySQL正则表达式:如何将字符串中的数字与\d匹配?

    我有一个专栏release date它以字符串格式存储日期 不是 DATETIME 格式 因为它们有时可以是任何其他字符串文字 我想根据给定的月份和年份查找任意日期的所有记录 尝试遵循但对我不起作用 gt Post find all con
  • 正则表达式库基准

    我最近一直想知道正则表达式实现的性能 并且很难想出很多有用的信息 它很容易对浏览器 javascript 正则表达式性能进行基准测试 网上有很多工具 Chrome 和 Opera 中的 javascript 正则表达式实现几乎摧毁了所有其他
  • 如何为 Imagus 悬停缩放扩展开发自定义过滤器?

    当我读到关于悬停缩放是邪恶的 http www reddit com r YouShouldKnow comments 1wjrc8 ysk that the hover zoom extension is spyware 哎呀 有两篇文章
  • 正则表达式上的换行符

    我试图替换两个标签之间的所有内容 但我无法构建正确的表达式 这就是我所做的
  • 如何通过保持目录结构完整来同步路径中匹配模式的文件?

    我想将所有文件从服务器 A 复制到服务器 B 这些文件在不同级别的文件系统层次结构中具有相同的父目录名称 例如 var lib data sub1 sub2 commonname filetobecopied foo var lib dat
  • Perl:正则表达式不抓取代码中的多行 C 风格注释

    我有一个 Perl 程序 读取用 C 编写的 SRC 文件 使用 SRC 文件中的正则表达式匹配来查找特定格式的数据以用作目标文件名 打开新的目标文件 执行另一个正则表达式匹配以查找包含关键字 abcd 的所有 C 风格注释 注意 这些注释
  • Oracle REGEXP_INSTR() 和“a-z”字符范围与预期不匹配

    我想用REGEXP INSTR 在 oracle 数据库中检查小写 大写字符 我知道 upper and lower POSIX 字符类 但我选择了a z这给了我非常奇怪的结果 我不明白 有人可以解释一下吗 SELECT REGEXP IN
  • 使用正则表达式查找并替换(批处理.BAT)

    我想在多个文本文件中进行查找 替换 如何使用 BAT 实现自动化 我还需要正则表达式 示例 查找
  • 正则表达式删除字符串中的双/三逗号

    我需要解析一个字符串 因此结果应该像这样输出 abc def ghi klm nop 但我收到的字符串可能看起来更像这样 abc def ghi klm nop 关键是 我事先不知道单词之间有多少个逗号 我可以在 C 中使用正则表达式来帮助
  • 正则表达式查找数字后跟字母[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我是正则表达式的新手 所以对愚蠢的问题表示歉意 如何识别字符串包含数字后跟字母 例如 在这个地址中 Flat 3a Butterfly St
  • 正则表达式可以与 C++ 中的字符数组一起使用吗

    我正在开发一个无法使用字符串库文件的程序 而是使用字符数组 我能够使用正则表达式 并且想知道是否有办法使用正则表达式和字符数组 甚至正则表达式和单个字符 我问的原因是当我尝试在匹配中使用我的 char 数组时 xUtility 会抛出一堆来
  • 替换两个引号之间的字符串

    我想转动一根绳子str hello my name is michael what s your s into hello my name is span class name michael span 我怎样才能在 JavaScript
  • 重复命名捕获组

    我有一个带有如下字段的字符串 id ID 120 1 ID 141 5 ID 92 5 N A 我只想捕获命名捕获组的 ID 即没有 N A 或其他可能潜入的项目 我认为这可能有效 但没有运气 bid
  • 如何使用 C# 查找文本中重复出现的词组? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在统计重复出现的字数字符串生成器 sb 我在互联网上找到了这段代码 据作者称 它与 Word 的字数计数器非常一致 StringB
  • 验证 Salesforce ID

    有没有办法验证 Salesforce ID 也许使用 RegEx 它们通常是 15 个字符或 18 个字符 但它们是否遵循我们可以用来检查它是否是有效 ID 的模式 验证 salesforce ID 有两个级别 使用正则表达式检查格式 a
  • 用于验证网络路径的正则表达式 PHP、jQuery、JavaScript、Ruby

    尝试找出用于验证网络路径的正则表达式 即 comp xyz or comp or comp x y z storage或者所有部分都更长的东西 但希望能够传达其要点 我目前拥有的是一个简单的输入字段 用户可以通过它传递信息 事情是我不希望他
  • 用于匹配某些数字的正则表达式

    以下正则表达式将匹配 9 11 位数字 d 9 11 编写完全匹配 9 的正则表达式的最佳方法是什么or11位数字 不包括10位 使用输入元素的模式属性 因此正则表达式应该匹配输入字段的整个值 我想接受任何包含 9 或 11 位数字的号码
  • 如何确保 re.findall() 停止在正确的位置?

    这是我的代码 a import re re findall r lt title gt lt title gt a 结果是 title aaa
  • 匹配没有周围字符列表的单词列表

    我有这个正则表达式 one common word or another 除非这两个单词相邻 否则它匹配得很好 One one s more word word common word or another word more anothe

随机推荐

  • 如何在 acumatica 门户中获取登录的企业帐户 ID?

    我正在尝试根据登录的客户企业帐户过滤目录项 如何在 acumatica 门户中获取登录的客户企业帐户价值 问候 穆拉利达兰 正如你所发现的 PXAccess GetUserID 允许您获取此信息 但您也可以在 BQL 查询中使用 Acces
  • 如何在 Swift 中使用另一个数组中的元素过滤数组?

    我有两个数组 let toBeFiltered star0 star2 star1 star0 star3 star4 let theFilter star1 star3 如何使用第二个数组过滤第一个数组 实际上theFilter可以动态改
  • 如何使用 Visual 2013 处理 telegrambot 中的此错误?

    我想用机器人电报响应任何消息 当请求来自用户端的机器人通过网络表单 但当 rs message 的值为空时 程序错误 error BotTelegramWeb dll 中发生 System NullReferenceException 类型
  • 如何使用 Google Apps 脚本跳过 Google 幻灯片中的幻灯片?

    在 Google 幻灯片中 可以通过右键单击幻灯片并选择 跳过幻灯片 来手动跳过幻灯片 在这种情况下 幻灯片在演示时将不会显示 我似乎无法使用 Google Apps 脚本以编程方式重新创建此内容 这个功能是否存在 或者有什么解决方法吗 目
  • 环境/*.rb 中的配置符号是如何解析的

    这就是一个典型的config environments rb文件开始 MyApp Application configure do config cache classes false end 该块传递给configure取消引用该符号co
  • ANTLR 4 树注入/重写运算符

    在 ANTLR 3 中您可以执行以下操作 andExpression andnotExpression gt andnotExpression AND a andnotExpression gt AndNode andExpression
  • PubNub最佳实践:如何管理私人房间?

    我正在学习 pubnub 并阅读了他们的文档 但我只是找不到如何管理多房间聊天框 默认情况下 任何人都可以收听某个频道 订阅和发布都很容易 我想要的是拥有一个主要的公共房间 到目前为止一切都很好 但任何人都应该能够与其他人私下交谈 而不会有
  • 如何使用java从ftp服务器删除文件?

    如何使用 java 程序从 ftp 服务器上删除文件 我可以使用以下代码成功地在 ftp 上上传文件 public static void main String args throws IOException TODO Auto gene
  • 经典 ASP Request.Form 删除空格?

    我正在尝试解决这个奇怪的问题 在经典 ASP 中 我似乎在 Request Form 值中丢失了空格 即 Request Form json 是 project administrator AlexGorbatchev anonymousV
  • 如何将 CHATBOT 未回答的问题存储在文本文件中

    我是新手python并使用构建聊天机器人聊天机器人库 我想将用户提出的聊天机器人无法回答的问题 我的意思是存储未回答的问题 存储在text文件或database以便我们稍后可以给出他们的答案 这是代码聊天机器人构造函数 self chatb
  • 按主题搜索 PyPI

    对于每个 python 包 你可以指定一个分类器列表 https pypi python org pypi 3aaction list classifiers 其中有一个Topic分类器 将包放入指定的类别中 可以浏览过PyPI https
  • 厨师服务器 WebUI 不工作

    我已经下载并安装了chef server core 12 xDPKG 封装已开启ubuntu 13 x chef server ctl reconfigure运行成功 但是当我尝试 URL 时http chef example com我收到
  • 仅将部分先决条件与 ClickOnce 捆绑在一起

    是否可以配置 ClickOnce 安装 使其需要 Net Framework 和 VSTO 但仅包含 VSTO 二进制文件并在必要时下载 Net Framework 在包中包含 VSTO 并不是什么大问题 但如果可能的话 我会放弃 350M
  • 如果验证错误,如何不提交表单

    如果其中一项验证为假 如何确保表单不会提交 form submit function validateForm1 validateForm document forms dpart2 validateForm document forms
  • 使用 vscode 和 mamp 在 Mac 上执行 php 可执行文件的路径

    vscode 需要为此参数设置 php 路径 php validate executablePath 所以我指定了这个 Applications MAMP bin php php7 0 12 bin php 但它不被识别 正确的道路是什么
  • How2:将 JPanel 添加到文档然后导出为 PDF

    在任何论坛上关于编程的第一篇文章 我通常只是搜索直到找到答案 但这次我真的陷入困境 问题是这样的 我有一个 JPanel 最近发现 itext 为您提供了一种将 Java GUI 导出为 PDF 的方法 我似乎无法理解 itext 的语言
  • 返回指向 const 对象的 const 共享指针的 const 向量

    给出以下基于共享指针容器的类 class Foo class Bar public const std vector
  • Ransack:使用年龄而不是出生日期

    我想使用 ransack 为页面构建高级搜索功能Users 我有一个小方法可以从出生日期计算年龄 def age dob now Time now utc to date now year dob year now month gt dob
  • NLTK 找不到 Java 可执行文件

    我使用的是NLTK的nltk tag stanford 它需要调用java可执行文件 我将 JAVA HOME 设置为安装 jdk 的 C Program Files Java jdk1 6 0 25 但是当运行该程序时出现错误 NLTK
  • 正则表达式:为什么这种消极的前瞻不起作用?

    我有这样的文字 real a real b real c 现在我想匹配那些真实的没有 接下来 在这种情况下 我只想匹配第三个实数 所以我尝试了正则表达式和前瞻 real s 但这匹配 real b real c For s 意味着零个或多个