问题标签 [capturing-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 投票
2 回答
6391 浏览

java - 带有可选分隔符的正则表达式捕获组

看起来像一个简单的问题,我需要提取一个捕获组,并可选择使用定界字符串限制该组。

在下面的示例中,我提供了一个分隔字符串“cd”,并希望它在所有情况下都返回“ab”:“ab”、“abcd”和“abcdefg”

这是代码:

输出是:

我认为前瞻可能会起作用,但我认为没有一个是可选的(即零个或多个实例)

0 投票
1 回答
104 浏览

.net - 正则表达式 .NET 附加命名组

我想附加命名组。

源文本:

我怎么能做到这一点?

0 投票
3 回答
5511 浏览

c# - 提取链接正则表达式 c#

过去两个小时我一直在尝试解决这些问题,但似乎找不到任何解决方案。

我需要从HTML文件中提取链接。有 100 多个链接,但其中只有 25 个是有效的。

有效链接放在里面

<td><a href=" (link) ">

首先,我遇到(并且仍然遇到)逐字字符串中的双引号问题。所以,我已经用“普通”字符串逐字替换了,所以我可以使用 \" for " 但问题是Regex我写的这个不起作用

正如我得到"<td><a href="http://www.google.com">的输出而不是http://www.google.com

任何人都知道我该如何解决这个问题以及如何在逐字字符串中使用双引号(例如 @" <>"das"sa ")

0 投票
3 回答
1622 浏览

java - 用重复解析(并取组)正则表达式

我尝试使用 java 解析规则并使用 RegEx 读取内部的任何内容,但是由于我对 RegEx 非常陌生,因此发现了几个问题。

首先,我尝试用这个RegEx解析一个谓词(我不知道这是否太复杂):,"([a-zA-Z]+)\\(([\\?]?[a-zA-Z0-9]+)?(,[\\?]?[a-zA-Z0-9]+)*\\)"我刚刚发现这是完全错误的......谓词应该是这样的(我懒得写出完整的表达式), p(), p(?a), p(?a,?b,c,?d). 谓词名称必须是字符串(仅包含字母字符),参数是仅包含字母字符或以 开头的字符串?

我发现这里有两个问题,给定元素p(a,b,c)

  1. 当我循环查看每个组的元素(使用Matcher)时,结果只有p(a,b,c)pa,c,我怎么能检索b也?
  2. 如何不包括,组内的(逗号符号),注意重复也应该包括它?

另一种情况,当我输入时p(),为什么它会得到一个元素所在的组null

知道如何解决这个问题吗?

0 投票
3 回答
1216 浏览

java - 替换所有捕获的组

我需要改变一些东西"foo_bar_baz_2""fooBarBaz2"

我正在尝试使用这种模式:

是否可以用matcher大写的捕获组替换第一个捕获的组('_'后面的字母)?

0 投票
1 回答
1110 浏览

regex - Vala 中的正则表达式捕获组

有这样的事吗?我一直在查看 Vala API,Regex 对象似乎不支持捕获组,以便我以后可以引用它们。目前有没有办法绕过这个明显的限制?假设我正在从一组字符串(文件的内容)中解析一个给定模式的字符串,例如:

但我希望语法宽松,这样它也可以说

者等......首先想到的想法是使用正则表达式和捕获组,但据我所知,现在似乎不支持此功能作为 Vala 的一部分。

我能想出的唯一选择是用匹配空格的正则表达式拆分字符串,这样我最终得到一个可以分析的数组,但是文件可能不只包含“参数 = 值”的格式行。

0 投票
2 回答
515 浏览

javascript - Javascript Regex 反向引用未填充所有捕获组

这里很奇怪(或者可能不是),我试图通过 Javascript 正则表达式检索两个捕获组,第一组:一个或多个数字(0-9),第二组:一个或多个单词字符或连字符(AZ,0-9 , -) 但由于某种原因,我永远无法检索后一组。

请注意:我特意包含了替换 ( |) 字符,因为我希望可能会收到其中一个)

这是我正在使用的代码:

有趣的是,Regex Buddy 告诉我我确实有两个捕获组,并且实际上在测试短语中正确地突出了它们。

这是我的 JavaScript 语法中的问题吗?

0 投票
3 回答
8023 浏览

php - 使用正则表达式提取 URL 参数 - 重复捕获组

我正在尝试通过正则表达式提取 URL 参数,并且非常接近让它工作。我什至知道问题出在哪里:我的正则表达式在重复捕获组上磕磕绊绊。但我根本无法弄清楚如何解决它。

语言是PHP。

我的网址如下所示。它可以没有参数,只有一个或多个:

我的正则表达式如下所示:

我的捕获组最终成为:

我无法弄清楚如何单独捕获所有参数。我是否只需要适应第一个捕获组并自己炸毁它?如果我可以在一个正则表达式中完成所有工作,那么对于我的目的来说会更加优雅。

0 投票
5 回答
61741 浏览

python - 这个 Django 正则表达式是什么意思?`?P`

我有以下正则表达式(正则表达式),urls.py我想知道它的含义。特别是(?P<category_slug>正则表达式的部分。

0 投票
6 回答
1772 浏览

regex - 在 Perl 中,匹配的正则表达式中有多少组?

我想告诉数字1和字符串之间的区别'1'

我想这样做的原因是因为我想确定成功匹配后正则表达式中捕获括号的数量。根据 perlop 文档,当模式中没有捕获组时,将返回列表 (1)。因此,如果我得到一个成功的匹配和一个列表 (1),那么我无法判断该模式是否没有括号,或者它有一个括号并且它匹配一个“1”。1如果 number和 string之间存在差异,我可以解决这种歧义'1'