问题标签 [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 回答
2904 浏览

java - java.util.regex.Matcher 混淆组

我无法获得正确的正则表达式匹配组。我的代码归结为以下内容:

我希望输出是:

然而它的:

有人有解释吗?

0 投票
3 回答
3123 浏览

python - 将整个正则表达式组导出到文本文件

当我打印组“ print(a) ”时,会显示整个组。当我将它保存到文本文件"open("sirs1.txt", "w").write(a)"时,只有最后一行被保存到文件中。

如何将整个组保存到文本文件。

0 投票
2 回答
344 浏览

java - 捕获组仅返回每个组的最后一次出现

我有这样的字符串:

或像这样:

或像这样:

所以,在形式上 - 字符串包含字典中的一些单词定义,用“|”分隔 象征。

这里:

  • word - 字典中的单词(可选,如 S2 或 S3)

  • PS1、PS2、PS3 - 词性标签(必需)

  • p1,p2,... - 一些参数(可选)

  • q1, q2, q3, ... - 一些其他参数(也是可选的)

我想构建正则表达式,它会在文本中找到所有出现的此类字符串并为我提供组:

  • group1 - 单词
  • group2 - 词性标签
  • group3, group4, ... - 参数 p
  • group(k), group(k+1), ... - 另一个参数 (q)

我不关心最后一个 p 参数和第一个 q 参数的组索引。我应该知道,第一组 - 是单词(可能为空),第二组 - 词性,其他组 - 参数 p 和 q。

现在我有这样的正则表达式:

但它不能正常工作。它只显示了最后一个参数 p 和 q。即(对于 S2):

  • group1 = word3 - 好的
  • 组 2 = PS2 - 好的
  • group3 = p8 - 不正常(仅最后一个 p 参数)
  • group4 = q6 - 不正常(也是最后一个 q 参数)

你可以帮帮我吗?

更新:“=”-字符仅是 p 参数和 q 参数之间的拆分字符。在我的问题中没有必要。您应该认为,p 参数和 q 参数没有什么不同。

实际输入示例:

0 投票
5 回答
4412 浏览

javascript - 使用正则表达式的字符串替换引用 JavaScript 中的嵌套组

由于 jQuery 处理脚本标签的方式,我发现有必要使用正则表达式进行一些 HTML 操作(是的,我知道......这不是这项工作的理想工具)。不幸的是,我对捕获的组如何在 JavaScript 中工作的理解似乎存在缺陷,因为当我尝试这样做时:

脚本标签被跨度替换,但结果title属性为空白。不应该$2匹配src脚本标签的属性内容吗?

0 投票
1 回答
1406 浏览

regex - Sed - 如何在多行中打印正则表达式组?

输入文件(测试):

期望的输出:

我做了什么:

问题:如何在 sed ( multiline ) 中打印正则表达式组?

0 投票
1 回答
106976 浏览

python - python re.sub 组:\number 之后的数字

我该如何foobar替换foo123bar

这不起作用:

这有效:

我认为当有类似的东西时这是一个常见的问题\number。谁能给我一个关于如何处理这个问题的提示?

0 投票
1 回答
251 浏览

c# - 提取大括号内的数值

我想从给定文件中提取一些字符串数据。文件结构如下:


name, catg, {y:2006, v:1000, c:100, vt:1}, {y:2007, v:1000, c:100, vt:1},.. {..}...


我想提取下一个值:

  • 姓名;
  • 猫;
  • y, v, c,vt标签后的数字;

我使用了下一个正则表达式:

  • @"(?<name>\w+), (?<cat>\w+)"用于提取前两项;
  • @"(?:\{y:(?<y>\d+), +v:(?<v>\d+), +c:(?<c>\d+), +vt:(?<vt>\d+)\}, ?)+"用于提取大括号中的其他值。

我将这两者连接起来并在正则表达式测试器中进行了测试。但正如预期的那样,我只得到一组提取的数字。我需要另一部分的结果({y:2007, v:1000, c:100, vt:1})。此外,可能有两个以上的部分。

如何修复我的正则表达式?然后我如何从相应的部分收集所有数字集。

0 投票
1 回答
249 浏览

java - Java 中的正则表达式捕获,就像在 C# 中一样

我必须使用 Java 重写现有 C#/.NET 程序的一部分。我对 Java 不是很流利,并且缺少处理正则表达式的东西,只是想知道我是否缺少某些东西,或者 Java 是否不提供此类功能。

我有类似的数据

我正在使用的正则表达式模式如下所示:

在 .NET 中,我可以使用 .NET 匹配后访问值match.Group[3].Captures[i]

在 Java 中,我还没有找到类似的东西。matcher.group(3)只返回一个空字符串。

我怎样才能实现像我在 C# 中习惯的那种行为?

0 投票
18 回答
294901 浏览

javascript - RegEx 使用 RegExp.exec 从字符串中提取所有匹配项

我正在尝试解析以下类型的字符串:

里面有任意 key:"val" 对。我想获取键名和值。对于那些好奇的人,我正在尝试解析任务战士的数据库格式。

这是我的测试字符串:

这是为了强调除了空格之外的任何内容都可以在键或值中,冒号周围没有空格,并且值总是用双引号引起来。

在节点中,这是我的输出:

description:"aoeu"也符合这种模式。我怎样才能找回所有的比赛?

0 投票
1 回答
4226 浏览

ruby - Ruby正则表达式组存储在变量中?

我遇到了这个正则表达式的问题,它似乎没有抓住标题(最后一个 '.' 之后的所有内容)我已经在多个来源上测试了正则表达式,它们似乎都抓住了正确的分组。我做错了扫描功能吗?

谢谢你,
LF4