regex-greedy 相关问题

贪婪的正则表达式属性使正则表达式引擎尽可能频繁地重复正则表达式令牌。只有这会导致整个正则表达式失败,放弃最后一次迭代,然后继续使用正则表达式的其余部分。贪婪的正则表达式令牌是`+`,`*`,`?`和使用花括号的重复。

正则表达式模式返回没有金额前缀的值:

我正在尝试编写一个正则表达式,它只会获取 135.00 作为结果,而不是 216.35。它始终有一个前缀“金额:” $135.00 金额:216.35 这是我到目前为止所拥有的:...

回答 1 投票 0

正则表达式查找函数调用的字符串参数(多次命中后查找)

我想使用 grep (PCRE) 查找传递给函数 foo() 的所有单引号字符串。 我的源代码中的示例函数调用和预期命中: foo('爱丽丝') -&...

回答 1 投票 0

如何让 vim 中的匹配不贪婪?

我有一个很大的 HTML 文件,其中有很多标记,如下所示: ... 我有一个很大的 HTML 文件,其中有很多标记,如下所示: <p class="MsoNormal" style="margin: 0in 0in 0pt;"> <span style="font-size: small; font-family: Times New Roman;">stuff here</span> </p> 我正在尝试进行 Vim 搜索和替换以摆脱所有 class="" 和 style="" 但我无法使匹配变得不贪婪。 我的第一次尝试是这样的 %s/style=".*?"//g 但 Vim 似乎不喜欢 ?。不幸的是,删除 ? 会使匹配变得过于贪婪。 如何让我的匹配变得不贪婪? 不要使用 .*,而是使用 .\{-}。 %s/style=".\{-}"//g 另外,请参阅:help non-greedy vim 中的非贪婪搜索是使用 {-} 运算符完成的。像这样: %s/style=".\{-}"//g 尝试一下: :help non-greedy 有什么问题 %s/style="[^"]*"//g 如果您更熟悉 PCRE 正则表达式语法,那么 支持非贪婪运算符?,正如您在OP中所问的那样;和 不需要反向分组和基数运算符(这是完全违反直觉的 vim 语法要求,因为您不是匹配文字字符而是指定运算符);和 你已经用perl功能编译了[g]vim,使用测试 :验证并检查功能;如果有 +perl 就可以了) 尝试使用进行搜索/替换 :perldo s/// 示例。交换 img 标签中的 src 和 alt 属性: <p class="logo"><a href="/"><img src="/caminoglobal_en/includes/themes/camino/images/header_logo.png" alt=""></a></p> :perldo s/(src=".*?")\s+(alt=".*?")/$2 $1/ <p class="logo"><a href="/"><img alt="" src="/caminoglobal_en/includes/themes/camino/images/header_logo.png"></a></p> 我发现此类问题的一个很好的解决方案是: :%!sed ... (如果您愿意,也可以使用 Perl)。 IOW,与其学习 vim 的正则表达式特性,不如使用您已经知道的工具。使用 perl 会使 ?修饰符可以使匹配变得不贪婪。 与\v(根据几条评论中的建议) :%s/\v(style|class)\=".{-}"//g 插件 eregex.vim 处理 Perl 风格的非贪婪运算符 *? 和 +? 你好, Vim 的正则表达式处理并不是太出色。我发现 sed 的正则表达式语法与 vim 的功能非常匹配。 我通常将搜索突出显示设置为(:set hlsearch),然后在输入斜杠进入搜索模式后使用正则表达式。 编辑:马克,Dale Dougherty 的优秀著作“Sed & Awk”(已清理的亚马逊链接)中也介绍了最小化贪婪匹配的技巧。 第三章“理解正则表达式语法”很好地介绍了 sed 和 awk 涉及的更原始的正则表达式功能。仅简短阅读,强烈推荐。 HTH 干杯,

回答 8 投票 0

Bash 正则表达式非贪婪匹配

我有一个正则表达式模式,应该在字符串中的多个位置匹配。我想将所有匹配组放入一个数组中,然后打印每个元素。 所以,我一直在尝试这个: #!/bin...

回答 4 投票 0

正则表达式:匹配贪婪和非贪婪的括号

我正在使用 python 正则表达式模块 re 。 我需要在这两个短语上匹配 '(' ')' 内的任何内容,但“不是那么贪婪”。像这样: 显示(人)的(姓名) 计算 (+ ...

回答 4 投票 0

虽然贪婪的可选运算符没有最大匹配

我有一个具体的模式: \A (%\s*!\s*T[eE]X 程序=(?[^} ]+)\R)? (\(文档样式|文档类)\s*(\[[^]]*\])?\s*\{(?[^} ]+)\})? 我想匹配

回答 1 投票 0

java正则表达式:尽管贪婪的可选运算符没有最大匹配

我有一个具体的模式: \A (%\s*!\s*T[eE]X 程序=(?[^} ]+)\R)? (\(文档样式|文档类)\s*(\[[^]]*\])?\s*\{(?[^} ]+)\})? 我想要...

回答 1 投票 0

RegEx:最小可能匹配或非贪婪匹配

如何告诉 RegEx(.NET 版本)获取最小的有效匹配而不是最大的?

回答 4 投票 0

仅返回正则表达式中具有 OR 条件的一组

我必须编写一个正则表达式来从句子中获取电子邮件地址。我希望仅将其与第 1 组一起退回。 正则表达式: \[邮寄地址:(.+)\]|<(.+@.+\..+)> 输入字符串: 您好,我的电子邮件地址是 &l...

回答 2 投票 0

正则表达式匹配不同数字的价格

我正在尝试编写一个正则表达式,用 go 来匹配由至少五位数字组成的价格,价格上有逗号。 例如: "10,400,000","10,900,000","500,000", 我...

回答 1 投票 0

Python 中正则表达式 {m,n} 的异常行为

为什么Python中的{m,n}在一个正则表达式中显示非贪婪行为,而在其他正则表达式中显示贪婪行为? 进口重新 字符串=“aaaaaaaab” match1 = re.search(r'...

回答 1 投票 0

如何在正则表达式中匹配这些字符串变体?

问题非常简单,我想在Go中使用正则表达式编译器处理一个字符串,并将其分成三个子字符串,我已经有了一些可以工作的东西,但遗憾的是它有一些

回答 1 投票 0

使用括号表示法提取多维键的正则表达式

我需要使用纯正则表达式检索所有密钥 我需要从单词字段开始,然后需要捕获所有多个键。 字段[某个值][另一个值] 但我需要深入并检索 ano...

回答 1 投票 0

正则表达式 "(\d)(?=\d) " 和 "(\d)(?=\d )" 之间的区别?

我在正则表达式中遇到了反向引用概念,并正在尝试这些概念。但是我无法理解这两个正则表达式之间的区别。假设我的数据字符串为 5152249435 &quo...

回答 1 投票 0

正则表达式非捕获组正在考虑捕获

我有这个正则表达式语句: &logline=(?:.*?\[管道\]|\[[\d-]+T[\d:.]+Z\])?.*?(\[) 我希望它跳过 .*?\[Pipeline\] 和 \[[\d-]+T[\d:.]+Z\] (如果存在),然后找到 a 括号...

回答 1 投票 0

Java 正则表达式组

我需要一个表达式来提取一些替代方案。输入是: asd11sdf33sdf55sdfg77sdf 我需要 11 33 和 55,但不需要 77。 我首先尝试: .*(((11)|(33)|(55)).*)+.* 所以我只得到了 55。但是机智...

回答 3 投票 0

正则表达式模式以提取所有逗号分隔值以及换行符,即提取整个字符串

测试字符串 地址:c8245A626 别名:eSrb002359_f1 Igroup名称:rtvclar002359,unjlclar002358-9, 可口可乐00RCB_FC 协议:REST 注意:“Igroup 名称”字段有 3 个逗号分隔值...

回答 1 投票 0

SAP 7.5 中的 RegEx 以第一次出现字符开始和结束

我正在使用 SAP NetWeaver 7.5 并具有以下字符串 /InstrId/**BTXXXXXXXXX**/ /EndToEndId/REF 2102231XX4/ /BICFI/XXXXXRAAXXX/ 我需要得到 BTXXXXXXXXX 的结果,这也应该......

回答 3 投票 0

为什么星号 (*) 在此正则表达式中充当惰性结构?

为了好玩,我正在编写一个简单的正则表达式引擎,但这打破了对 *\** 的理解。 正则表达式: /a*abc/ 输入: 美国广播公司 在我的头脑和引擎中 /a*abc/ a* 是0次或多次 一次 b 一次 c一个

回答 1 投票 0

我需要使用正则表达式解析两列,但我做不到。请指教

Port Vlans 处于生成树转发状态且未被剪枝 Gi1/0/1 2,6,21,25,99,195,197,505,605 Gi1/0/6 2,21,25 Gi1/0/7 2,21,25 Gi2/0/1 2,6,21,25,99,195,197,5...

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.