问题标签 [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.
java - java.util.regex.Matcher 混淆组
我无法获得正确的正则表达式匹配组。我的代码归结为以下内容:
我希望输出是:
然而它的:
有人有解释吗?
python - 将整个正则表达式组导出到文本文件
当我打印组“ print(a) ”时,会显示整个组。当我将它保存到文本文件"open("sirs1.txt", "w").write(a)"时,只有最后一行被保存到文件中。
如何将整个组保存到文本文件。
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 参数没有什么不同。
实际输入示例:
javascript - 使用正则表达式的字符串替换引用 JavaScript 中的嵌套组
由于 jQuery 处理脚本标签的方式,我发现有必要使用正则表达式进行一些 HTML 操作(是的,我知道......这不是这项工作的理想工具)。不幸的是,我对捕获的组如何在 JavaScript 中工作的理解似乎存在缺陷,因为当我尝试这样做时:
脚本标签被跨度替换,但结果title
属性为空白。不应该$2
匹配src
脚本标签的属性内容吗?
regex - Sed - 如何在多行中打印正则表达式组?
输入文件(测试):
期望的输出:
我做了什么:
问题:如何在 sed ( multiline ) 中打印正则表达式组?
python - python re.sub 组:\number 之后的数字
我该如何foobar
替换foo123bar
?
这不起作用:
这有效:
我认为当有类似的东西时这是一个常见的问题\number
。谁能给我一个关于如何处理这个问题的提示?
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}
)。此外,可能有两个以上的部分。
如何修复我的正则表达式?然后我如何从相应的部分收集所有数字集。
java - Java 中的正则表达式捕获,就像在 C# 中一样
我必须使用 Java 重写现有 C#/.NET 程序的一部分。我对 Java 不是很流利,并且缺少处理正则表达式的东西,只是想知道我是否缺少某些东西,或者 Java 是否不提供此类功能。
我有类似的数据
我正在使用的正则表达式模式如下所示:
在 .NET 中,我可以使用 .NET 匹配后访问值match.Group[3].Captures[i]
。
在 Java 中,我还没有找到类似的东西。matcher.group(3)
只返回一个空字符串。
我怎样才能实现像我在 C# 中习惯的那种行为?
javascript - RegEx 使用 RegExp.exec 从字符串中提取所有匹配项
我正在尝试解析以下类型的字符串:
里面有任意 key:"val" 对。我想获取键名和值。对于那些好奇的人,我正在尝试解析任务战士的数据库格式。
这是我的测试字符串:
这是为了强调除了空格之外的任何内容都可以在键或值中,冒号周围没有空格,并且值总是用双引号引起来。
在节点中,这是我的输出:
但description:"aoeu"
也符合这种模式。我怎样才能找回所有的比赛?
ruby - Ruby正则表达式组存储在变量中?
我遇到了这个正则表达式的问题,它似乎没有抓住标题(最后一个 '.' 之后的所有内容)我已经在多个来源上测试了正则表达式,它们似乎都抓住了正确的分组。我做错了扫描功能吗?
谢谢你,
LF4