问题标签 [regex-group]

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.

0 投票
4 回答
13600 浏览

regex - 如何在第 9 个反向引用之后对正则表达式进行分组?

好的,所以我试图在记事本 ++ 中对第 9 个反向引用进行分组。wiki 说我可以使用组命名来超越第 9 个参考。但是,我似乎无法正确使用语法来进行匹配。为了简单起见,我只从两组开始。

样本数据

正则表达式。

根据文档,我需要执行以下操作。

但是,结果是它找不到我的文本。有什么建议么?

0 投票
1 回答
645 浏览

objective-c - 正则表达式 - URL 参数中的匹配组

我需要从此字符串中提取值:

所以,我想到了这样的事情:

但是,在某些情况下我没有 paramB,或者在某些情况下我在 params 值中有 '&' 和 '='。

我怎样才能解决这个问题?

0 投票
2 回答
345 浏览

regex - 如何指定匹配正则表达式方括号内的多个字符?

给定用户输入字符串,我需要查找它是否以以下之一结尾 - .com、.net、.edu.、html 等。

有没有办法用正则表达式方括号做到这一点?

我试过 $[.com|.net|.html] 和 $[(.com)(.net)(.html)] 但两者都不起作用。

0 投票
2 回答
556 浏览

.net - .NET 正则表达式性能

目前,我正在使用以下正则表达式从 Outlook HTML 邮件项目中删除第一个对话项目:

为了删除第一个对话项,我只需将组 1 的第一次出现替换为组 2 的值。在 .NET 中看起来有点像这样:

ReplaceFirst是我自己的字符串扩展方法。不过,这次的表现有点让人失望。虽然 Regex Coach 可以在一微秒内将其应用于大型邮件项目,但在 Outlook 加载项中最多需要 10 秒。

如果我用这个明确的替代方案替换模式,性能会显着提高:

使用该正则表达式,只需不到一秒钟的时间就可以得到我想要的。但是,这将是特定于语言的,因此我更喜欢以前的变体。有什么方法可以加快 .NET 的速度吗?或者是否有第三方正则表达式库可以在这个库上表现更好?

感谢您的任何建议和最好的问候

帕斯卡

0 投票
1 回答
1983 浏览

python - Kodos & “不能指代开放组”

我只想匹配 1010 或 0101,但既不匹配 1111 也不匹配 0000。我使用以下正则表达式:

它在 Kodos 中运行良好,但由于 group(),我也想要匹配的序列。我试过了 :

但是 Kodos 中显示“无法引用开放组*”,我不明白为什么它不起作用。

请问你能帮我吗?

编辑:适当的正则表达式是(\b(((1|0)(?!\3))+).

0 投票
1 回答
2602 浏览

python - 正则表达式匹配一个或两个组或两者

我想要一个可以匹配一个组或两个组的正则表达式。这是它的外观示例。要么像这样:

(钥匙)

或者像这样:

(核心价值”)

到目前为止,我已经想出了一个与后一个示例匹配的表达式。但我不知道如何修改它,使其匹配第一个或后一个。这里是:

0 投票
1 回答
3264 浏览

javascript - JavaScript 正则表达式返回引用从单个捕获组(多个组)返回匹配数组

在花了一夜试图找到不可能的答案之后,我相当确定,并且我已经开发了一种解决方法-但是,如果有人知道更好的方法,我很想听听...

我在代码上经历了很多迭代,以下只是一个思路。我相信在某些时候我使用了全局标志,以便 match() 工作,我不记得现在是否有必要。

在这个简化的代码中,这里的想法是可选组 1,其中有一个未指定的数量,将匹配 @abc、@def 和 @ghi。它只会捕获其中有一个或多个的字母字符。第 2 组是相同的,除了匹配 & 符号。它还应该锚定在字符串的开头和结尾。

我希望能够反向引用两组的所有匹配项,即:

我的伙伴说这在 .net 中对他来说效果很好,不幸的是我根本无法让它工作 - 只有任何组的最后一个匹配项会在反向引用中返回,如下所示:

(此外,使任一组可选会造成混乱,设置全局标志也是如此)


以下是我得到的解决方案,捕获有问题的整个部分,并自己创建数组:

0 投票
1 回答
1023 浏览

regex - emacs 函数重新搜索向前解释 \( \) 正则表达式中的组字符

我成功地使用 replace-regexp 交互地用非引用版本替换了下面显示的缓冲区中引用文本的每个实例。我搜索的正则表达式是

我插入的 NEWTEXT 是 \1。

交互式地,上面的文字变成了下面的文字。

我尝试通过插入以下两行以编程方式进行相同的搜索和替换

在缓冲区的顶部并执行,但它只是返回 nil 而没有找到单个匹配项。

当我省略

分组并用 \& 替换 \1

我将每个带引号的字符串都替换为“&”。

我在这两个函数的文档中看到的所有内容都表明它们应该识别这些特殊字符,并且在本论坛上回答其他问题的示例中使用了这些特殊字符。

谁能帮我理解为什么分组和 \&、\N、\ 字符没有被正确解释?

0 投票
1 回答
1219 浏览

python - 正则表达式基于可选子字符串捕获可选组

我想创建一个正则表达式来捕获基于可选子字符串的可选组。示例可能是:

等等

我想捕获DATEand 参数。%H:%M该表达式(.*?)\[\[(.*?)\]\]适用于参数,但可选的排除字符串失败并返回 null。

0 投票
1 回答
165 浏览

regex - 正则表达式原子分组不够贪婪

我正在尝试构建一个匹配转义字符串的正则表达式,例如@"hello""world". 到目前为止,我有(忽略空格):

问题是无效的(因为它没有关闭)字符串@"""匹配为@"". 我认为当我使用原子分组又名非回溯子表达式时,(?>""|[^"])*将匹配的最后两个双引号@"""(因为左替代可以匹配两个双引号)然后导致整体匹配失败(因为最后一个"正则表达式不是存在)但该组似乎不够贪婪(尽管具有贪婪的量词*和原子分组)并且"一旦注意到正则表达式失败,它仍然会回溯到正则表达式的第一个之后的点。一种解决方法是放在(?!")正则表达式的末尾,但我想知道为什么它不适用于原子分组。