问题标签 [capture-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 投票
1 回答
3857 浏览

c - 正则表达式 URL 捕获组

我正在编写一个正则表达式并尝试将 URL 的每个部分放入它自己的捕获组中以进行提取:

  • 协议 (http、https)
  • 子域 (子)
  • (域)
  • 域名扩展 (com,net)
  • 路径 (/path/to/file - 这是文件所在目录的路径)
  • URI (文件名)
  • URI 扩展 名(文件扩展名 - js、css、pdf)

示例网址:

到目前为止我所拥有的:

期望的输出:

  • Group1:协议
  • Group2:子域(如果存在,如果不存在,则为空白)
  • Group3:
  • Group4:域扩展
  • Group5:目录路径
  • Group6:文件名
  • Group7:文件扩展名

问题:如何在上面列出的所有示例中将每个 URL 部分放入它自己的捕获组中?

0 投票
2 回答
754 浏览

regex - 将捕获组分配给 XQuery 中的变量

在许多语言中,可以将正则表达式捕获组分配给一个或多个变量。XQuery 中也是这样吗?到目前为止,我们得到的最好的结果是“由捕获组替换”,但这似乎不是最漂亮的选择。

这就是我们现在所拥有的:

哪个有效。但我希望有这样的东西:

那(或类似的东西)是否存在?

0 投票
1 回答
325 浏览

regex - 在 AS3 RegEx 中访问捕获组

我有一个看起来像这样的文档:

我需要取出 colorArray 的键(即“直接布线”、“10Base2 以太网”等)并将它们存储在另一个数组中。我有一个看起来像这样的正则表达式

var colorsRegEx:RegExp = new RegExp(/colorArray\[\"(.*)\"\]/g);

这匹配例如“colorArray[“DIRECT CABLING”]”的全部内容。有没有办法只抓住 (.*) 捕获组,所以我只有字典键?看起来如果您使用 String.replace 方法,您可以针对特定的捕获组,但我没有看到将它们拉出来以在其他地方使用它们的方法。谢谢。

0 投票
1 回答
6397 浏览

regex - 如何使用正则表达式捕获“多个”重复组

我有以下文本文件,我想解析出来以获取各个字段:

我要提取的字段以粗体显示

  • host_group_web = ( )
  • host_group_lbnorth = ( lba505 lbhou002 lblon003 )

host_group_web 在( )之间没有任何项目,因此该部分将被忽略

我将第一个组命名为nodegroup并将 () 之间的项目命名为节点

我正在逐行读取文件,并存储结果以供进一步处理。

在 Golang 中,这是我正在使用的正则表达式的片段:

我得到以下输出,其中缺少名为 group的节点的其余匹配项。

Golang Playground 中的片段

我的问题是,如何在 Golang 中获得一个匹配节点组和所有可能在行中的节点的正则表达式,例如 lba050 lbhou002 lblon003。节点的数量会有所不同,从 0 到尽可能多。

0 投票
1 回答
32 浏览

ruby - 如何在正则表达式中有未定义数量的捕获?

我正在制作一种简单的基于堆栈的语言,它使用命令来操作堆栈。当我在源代码中找到命令时,我使用这个正则表达式来分离出实际的命令名称,例如sum和命令的参数。参数用三角括号括起来并用逗号分隔。

这是我目前正在使用的正则表达式:

现在这工作正常,这里有一些它工作的例子:

这完全符合我对除最后一个之外的每一个的要求。我的问题是,有没有办法分别捕获每个参数?我的意思是这样的:

顺便说一句,我正在使用最新的 Ruby 正则表达式引擎。

0 投票
1 回答
717 浏览

ios - 在 swift 中使用 NSRegularExpressions 的可选捕获组

我想拥有多个可选的捕获组,并且我想访问它们对应的字符串。

看起来/像这样工作的东西:

0 投票
1 回答
6387 浏览

regex - 捕获组中的正则表达式匹配文本

示例文本:

目标:

我试图在“name”等于某个字符串的“string_value”之后提取值。假设它等于last_name。这些属性没有任何特定的顺序。我已经探索过使用捕获组,但我并没有走得太远。

对此的任何帮助将不胜感激。谢谢!

0 投票
1 回答
1145 浏览

java - Java regex - 确定匹配的捕获组并计算出现次数

假设我想根据用户的决定在运行时构建一个带有捕获组的非常大的正则表达式。

简单的例子:

问题是,只有当我事先知道用户想要查找哪些正则表达式/组时,我才能计算每个组的匹配项。

请注意,完整的正则表达式将包含更多的捕获组,并且它们会更复杂。

如何确定匹配哪个捕获组,以便我可以计算每个组的出现次数,而无需事先知道用户想要查找哪些组?

0 投票
2 回答
474 浏览

ruby - ruby regex scan 和 gsub 与块中的捕获组的工作方式不同

我有一串交替的数字和字母。我想用它前面的字母数替换每个字符。例如,2a3b应该返回aabbb.

首先,如果我这样做:

我得到:

但是,如果我这样做:

我收到一个错误:

它们不应该表现相同吗(更新:我的意思是,接受捕获组作为块参数)?

更新:(解决方法,有效)

返回:

正如预期的那样。

0 投票
3 回答
196 浏览

java - 用自身的一部分替换 Java 正则表达式捕获组

Java中对字符串进行以下替换的最佳方法是什么:

我有类似于此的文本:

我想要以下文字

我尝试使用正则表达式捕获组,但如何将一个捕获组替换为另一个捕获组?