问题标签 [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 - 正则表达式表现得很懒惰,应该是贪婪的
我认为默认情况下我的正则表达式会表现出我想要的贪婪行为,但它不在以下代码中:
输出:
现在我意识到,如果我只是按长度降序对关键字进行排序,我可以让它适用于这个小例子,但是
- 我想了解为什么这不能按预期工作,并且
- 我正在处理的实际项目在正则表达式中有更多的单词,并且保持它们按字母顺序排列很重要。
所以我的问题是:为什么这是懒惰的,我该如何解决?
algorithm - 点覆盖问题
我最近在测试中遇到了这个问题:给定一组点m(都在 x 轴上)和一组 带有端点 [ l, r ]的线(再次在 x 轴上),找到n使得所有点都被一条线覆盖。证明您的解决方案总能找到最小子集。
我为它编写的算法的效果是:(比如说,行存储为数组,左端点在位置 0,右端点在位置 1)
我只是不确定这是否总能找到最小的解决方案。这是一个简单的贪心算法,所以我的直觉告诉我它不会,但是我的一个朋友在这方面比我好得多,他说对于这个问题,像这样的贪心算法总是能找到最小的解决方案。为了证明我的总是找到最小的解决方案,我做了一个非常手动的矛盾证明,我做了一个可能根本不正确的假设。我完全忘记了我做了什么。
如果这不是一个最小的解决方案,有没有办法在少于 O(n!) 的时间内完成它?
谢谢
regex - 在正则表达式中,它被称为惰性还是非贪婪?
我最初听到它是不贪婪的。然后在“网络上”的引用中,我看到它被称为懒惰。它是哪一个?
regex - 使用 preg_match 查找具有特定后缀的标签
我正在寻找在 PHP 中使用正则表达式以特定方式结束的标签。然而,我所有的尝试要么导致太多,要么太少。
例如,在以下字符串中,我想匹配“bar”,因为它位于以“suffix”结尾的标签中。
但是上面的行导致'foo>
python - Python re 中的贪婪与非贪婪匹配
请帮助我发现这是否是 Python (2.6.5) 中的错误,是我编写正则表达式的能力,还是我对模式匹配的理解。
(我接受一个可能的答案是“升级你的 Python”。)
我正在尝试解析 Yubikey 令牌,允许使用可选的附加功能。
当我使用此正则表达式匹配没有任何可选附加项的令牌时(即,仅包含与两个捕获组匹配的内容),匹配失败:
但是,如果我让第一组不贪婪:
它成功了。
所以,好的,它正在工作,但我原以为这两个正则表达式之间最终结果的唯一区别是性能。
Expresso 和 Regex Coach 都喜欢这两种模式。
我错过了什么?
这是我正在测试的两个字符串。
没有可选的附加功能(可能失败的附加功能):
带有可选的附加功能(到目前为止还没有失败;实际的选项卡在此处显示为“_”):
我尝试使用 Alex Martelli 的建议来重现它,并且它在原始 Python 环境中不会失败,所以我将重新访问我的代码(我实际上是在 yubikey-python 上进行黑客攻击);我会在一天左右回来报告。
我向大家道歉。我无法重现该问题。getpass
当它发生时,我正在通过;读取输入。我怀疑意外的外键击中了。
我要结束这个问题。如果支持该问题的人希望取消他们的投票,那是公平的。
很抱歉。
c# - 从页面获取标题的不贪婪的正则表达式
我想使用 C# 获取网页的标题。所以我请求该页面并获取响应页面并使用正则表达式来提取标题。
字符串正则表达式 = @"(?<=)([\s\S]*)(?=)/";
但我看到一个网站有两个标题,例如
所以当我使用上面的正则表达式时,我得到的标题为
我知道正则表达式是贪婪的。如何将正则表达式修改为不贪婪,以便它给我“页面标题”?
regex - 正则表达式麻烦,好像不能匹配我想要的
我在中间某处有大量乱码数据:
从这里,我想提取hGosI8rBVe8
. 请注意,我要提取的内容可以是任意长度,并且可以包括大写/小写字母和数字。这是我迄今为止尝试过的:
和:
但是他们在我想要返回的末尾处继续匹配方式。我很确定这是因为*
(贪婪)......但我认为没有其他方法可以做到这一点,因为我想要返回的将是可变长度。
任何帮助表示赞赏,欢呼。
c# - C# 正则表达式中的贪婪、非贪婪、全贪婪匹配
如何获得以下示例中的所有匹配项:
PS:我想以通用方式进行所有匹配。上面的例子只是一个例子。
regex - 正则表达式问题
我正在测试一个正则表达式,我对匹配结果很好奇,
符号 * 是绿色的,在我的选项中,结果应该只匹配 1 个结果,如下所示:
但结果不是我所期望的,任何人都可以帮我解释一下,谢谢?