问题标签 [greedy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
regex - 如何修复我的正则表达式,使其与贪婪的量词不匹配?
我有以下行:
我使用一个简单的正则表达式来解析它:
但是; 最后把事情搞砸了,我不知道为什么。贪婪的运营商不应该处理“一切”吗?
c++ - 我如何用精神正确地解析这个?
我的情况:我是 Spirit 的新手,我必须使用 VC6,因此我使用的是 Spirit 1.6.4。
我有一条看起来像这样的线:
DESCRIPTION
如果行以 . 开头,我想将文本放入字符串中//The Description;
。
我有一些有用的东西,但对我来说看起来并不那么优雅:
我更想将所有可打印字符分配到下一个';'
,但以下不起作用,因为parse(...).hit == false
我如何让它击中?
c++ - 为什么我的 Boost.Regex 搜索只报告一次匹配迭代?
我试图找出一个字符串中有多少个正则表达式匹配。我正在使用迭代器来迭代匹配,并使用整数来记录有多少。
在我的示例中,count 始终返回 1,即使我将代码放在 for 循环中以显示匹配项(并且有很多)。这是为什么?我究竟做错了什么?
编辑
测试输入:
输出(不匹配):
在 16 毫秒内找到 1 个匹配项。
如果我将 for 循环更改为:
我得到这个作为输出:
regex - 为什么我的非贪婪 Perl 正则表达式不匹配?
我以为我在合理程度上理解 Perl RE,但这让我感到困惑:
印刷
捕获
的匹配 '
似乎它与结尾 ' 单独匹配,因此没有捕获任何内容。
我原以为它会匹配整个事物,或者如果它完全不贪婪,则什么都没有(因为所有事物都有一个可选匹配)。
这中间的行为让我感到困惑,谁能解释发生了什么?
regex - 需要贪婪量词的帮助
我正在 Perl 中进行简单的搜索和替换,但我需要一些帮助。这些是文件中的行:
我想为 john 分配一个新的用户 ID,比如 2001。所以这就是我想要的结果:
当 john 是第一个时,我的正则表达式工作正常,但是当 mark 是第一个时,它就搞砸了。
regex - sed中的非贪婪(不情愿)正则表达式匹配?
我正在尝试使用 sed 清理 URL 行以仅提取域。
所以从:
我想:
(无论有没有斜杠,都没有关系)
我试过了:
和(转义非贪婪量词)
但我似乎无法让非贪婪量词 ( ?
) 工作,所以它总是最终匹配整个字符串。
.net - 使用贪婪的正则表达式忽略可选后缀
我正在.NET 中针对如下所示的字符串执行正则表达式匹配:
我需要匹配最后没有数字的 URL 部分,以便我得到这个:
这是我正在尝试的正则表达式:
问题是最后一组被包括在中间组的比赛中。我也试过没有 * 最后但只有上面的第一个字符串匹配,而不是其余的。
我启用了多行选项。有任何想法吗?
php - php regex:lookbehind 和lookahead 以及贪婪问题
这应该很简单,但我是个菜鸟,我一生都无法弄清楚。我正在尝试使用正则表达式来匹配特殊打开/关闭标签内的文本:[p2][/p2]
所以在本文中:
它应该匹配“香蕉”和“柠檬”。到目前为止我研究过的正则表达式是:
但这也太贪心了。它匹配以香蕉中的“b”开头并以柠檬中的“n”结尾,匹配香蕉[/p2]葡萄[p2]柠檬。我该如何搭配香蕉和柠檬?
artificial-intelligence - 贪心搜索和统一成本搜索有什么区别?
在树中搜索时,我对统一成本搜索的理解是,对于给定的节点 A,其子节点 B、C、D 的相关成本为 (10, 5, 7),我的算法将选择 C,因为它有更低的花费。展开 C 后,我看到节点 E、F、G 的成本为 (40, 50, 60)。它将选择 40,因为它具有两个 3 中的最小值。
现在,这不就像贪婪搜索一样,你总是选择看起来最好的动作吗?
此外,在定义从某些节点到其他节点的成本时,我们应该考虑从树的开头到当前节点的全部成本,还是只考虑从节点 n 到节点 n' 的成本本身?
谢谢