问题标签 [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.
python - 捕获可变长度的空间组
我正在尝试解析以下形式的字符串:
目标是捕获此字符串中所有可变长度的空格组。我将如何使用正则表达式来做到这一点?
regex - 请帮助优化这个正则表达式
输入:
表达:
代替:
输出:
java - 在java正则表达式中捕获同一组的多个实例
我正在尝试使用正则表达式从一串帕斯卡代码中提取参数名称,这是我正在尝试使用的最复杂的。请注意,永远不会有空格,并且将始终存在括号。
我目前得到的重新如下:
我希望当 re 传递参数时我可以访问每个捕获组,但显然我不能。对于上面的例子,我需要的值是“rate”、“interest”和“principal”。
有解决方案吗?我自己的努力使我来到这里他们提到使用
“matcher() with while…find()”。
我不完全理解正则表达式,希望能得到任何帮助。谢谢。
c++ - boost regex 中的命名捕获/组列表
我想知道如何在 boost 中的正则表达式中获取捕获组的名称。
例如,如果用户输入的字符串预期是具有命名捕获组的有效正则表达式,那么如何遍历正则表达式中已定义组的列表并获取这些组的名称。boost 是否提供了这样做的工具,或者我应该编写自己的解析器来提取这些名称?
例如,如果输入字符串是:
我希望能够从正则表达式中提取“年”、“月”和“日”。
php - PHP的捕获组+数字
我提到了这个问题 -捕获组参考 + 数字
我尝试了那里提供的两个选项。这是使用 ECMAScript 表达式的示例代码(我想我需要使用它,如果我错了,请纠正我) -
预期产出
实际得到
PS我正在尝试用配置文件中的键替换值,该配置文件具有其他几个键值对。我认为正则表达式在这种情况下会更容易。如果我错了,请纠正我。
java - java regex - 捕获重复的组
我正在使用 Java 的正则表达式库。我想根据以下格式验证字符串:
数字的数量是未知的。我想确保该字符串中至少有一个数字,并且每两个数字用逗号分隔。我也想从字符串中获取数字。
(注意:这只是一个简化的例子,string.split 并不能解决我的实际问题)
我写了以下正则表达式:
验证部分有效。但是,当我尝试提取数字时,我得到 2 组:
正则表达式101版本: https ://regex101.com/r/xJ5oQ6/3
有没有办法单独获取每个号码?即以收集结束:
提前致谢。
python - python re.sub - 替代替换模式
我想为 re.sub 提供替代替换模式。
假设我有两种搜索模式作为替代方案,如下所示:
而不是提供一种替换模式,我想以某种方式捕获匹配的搜索模式替代方案并提供替代替换模式。这可能吗?谢谢。
PS。这里的代码细节无关紧要,这是一个普遍的问题。
java - 正则表达式:如何捕获可选组
我想从这个字符串中捕获组数 -
我写的正则表达式如下 -
这从第一行捕获以下组 -
这不会选择第二行,因为它没有 ; 在最后一节。
我尝试将第 7 组设为可选
输出:
但它仍然不符合我的要求。为什么 1.7 行即使有也不会溢出;我希望 2.7 输出进入 2.8 并且 2.7 应该像第二行没有的那样为空;
有什么方法可以使用正则表达式来实现这一点?
r - R 的正则表达式中是否有等效的“&”用于反向引用整个匹配?
当我使用 vim 时,我经常使用&
反向引用替换中的整个匹配项。例如,以下将“foo”的所有实例替换为“foobar”:
这里的好处是懒惰:我不必在匹配中输入括号,我只需要输入一个字符而不是两个用于替换中的反向引用。也许更重要的是,我在输入比赛时没有弄清楚我的后向参考,从而减少了认知负担。
&
在 R 的正则表达式中是否有与我在 vim 中使用的等效项(可能使用perl = T
参数)?
regex - Sed 附加正则表达式捕获组
如果有人可以帮忙,我正在尝试使用正则表达式和捕获组进行 sed 附加,但它不能完全工作:
目前它只是给出文字值 1 而不是捕获组。
它应该给出:
我也尝试过反斜杠括号,但它不起作用。请协助....因为它现在正在伤害我的头......