问题标签 [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.
regex - 捕获匹配组的子字符串
斯堪纳里奥
我必须从组合字符串中获取子字符串。比赛条件:
字符串以“section1:”开头
捕获的字符串可以是空格分隔或破折号分隔的字母数字值列表
如果捕获的字符串以特定后缀 ('-xx') 结尾,则从捕获的字符串中排除后缀。
例子
section1:ypsilon : 第 1 部分匹配,获取 'ypsilon'
section1:ypsilon zeta:第 1 部分匹配,获取“ypsilon zeta”
section1:ypsilon-zeta : 第 1 部分匹配,获取 'ypsilon-zeta'
section1:ypsilon-xx : 第 1 部分匹配,抓取 'ypsilon',排除 '-xx'
section1:ypsilon zeta-xx:第 1 部分匹配,抓取 'ypsilon zeta',排除 '-xx'
section1:ypsilon-zeta-xx:第 1 部分匹配,抓取 'ypsilon-zeta',排除 '-xx'
section2:ypsilon:第 2 节不匹配
到目前为止的解决方案
这个想法是获得第 1 组,而第 2 组是可选的。 演示。
问题
不幸的是,后缀与 group1 定义匹配,因为它是一个带有破折号的字母字符串。所以生成的捕获字符串不排除后缀。
有什么线索吗?
regex - 使用正则表达式、组捕获和反向引用查找和替换
我正在尝试在 SQL Server 2008 R2 Management Studio 中执行查找和替换操作并使用组捕获,以便我可以反向引用替换中的组。我从中了解到 SSMS 使用Visual Studio 2005 正则表达式引擎。这是我所拥有的一个例子:
这是我的“查找”表达式:
这是我的“替换”表达式:
但是,运行替换操作不会返回任何捕获的组,即每一行只是“”(<---只是两个反向引用之间的空格)。
我究竟做错了什么?
regex - 使用 PCRE Regex 提取 Apache Web Log 的字段
使用 PRCE 正则表达式,我想捕获不同 apache 博客的每个字段。这些日志的结构类似于以下示例:
aaa bbb "cc c" ddd "eee" fff
每个字段由空格分隔。但是字段也可能包含空格,在这种情况下,它们在字段的开头和结尾用引号括起来(“cc c”)。不包含空格的字段在字段的开头和结尾也有引号(“eee”)。
结果应该有每个字段的捕获组,因此对于示例应该是: Group1: aaa Group2: bbb Group3: "cc c" Group4: ddd Group5: "eee" Group6: fff
我的问题是我想要一个万能的解决方案,例如带有量词 - 像这样: (?:((aa|bb|"cc"|dd)\s){1,})
但是这里的量词总是在 aaa 处重复。
非常感谢一个整洁、有效的解决方案。
ios - NSRegularExpression 找不到捕获组匹配
我正在尝试使用一种正则表达式模式解析字符串。
这是模式:
这是要解析的文本:
我想找到这 4 个捕获组:
我正在使用以下代码尝试捕获这些组
不幸的是,它只能找到一个范围(0, 8)
等于:的组"base" {
。所以它找到一组是整个字符串而不是 4 组。
这甚至可以让这些团体使用NSRegularExpression
吗?
c# - C# 正则表达式捕获组不起作用
在下面的代码中,我想捕获以 test 开头并后跟双引号括起来的文本的任何内容。例如
test"abc"
test"rst"
代码工作正常。
然后,从上面的捕获中,我想捕获单词 test 之后的子表达式(在上面的示例中,这些子表达式将是“abc”和“rst”,包括“。我尝试了以下内容,它正确地给了我:
"abc"
"rst"
问题:现在我想捕获两个子表达式 1.“abc”和“rst” 2.除了匹配 test“abc”和 test“rst”之外的任何字符。所以,我尝试了以下但如下所示匹配“rst”“uvw”的第 1 组和第 2 组是错误的。我需要“rst”“uvw”的第 1 组为“rst”,第 2 组为空,因为“rst”后面的字符是“:
第 1 组:“abc”
第 2 组:=
第一组:“第一”
第 2 组:你
regex - 正则表达式 - 捕获所有重复的迭代
我有一个像这样的变量
我正在尝试捕获此 var 中的所有“123”和“abc”。
这个正则表达式(abc|123)
检索我想要的但是......
我的问题是:当我尝试这个正则表达式!(abc|123)*!
时,它只检索最后一次迭代。我该怎么做才能得到这个输出
https://regex101.com/r/mD4vM8/3
谢谢!!
python - Python: Regex: Detecting hyphenated names and non-hyphenated names with one regex
I need to extract people's names from a really long string.
Their names are in this format: LAST, FIRST.
Some of these people have hyphenated names. Some don't.
My attempt with a smaller string:
Input:
Expected output:
Actual output:
What am I doing wrong?
regex - 捕获组的负前瞻
我正在尝试这个挑战:
我想匹配所有不包含 ABBA 模式的字符串。
匹配:
不匹配
首先,我有一个正则表达式来确定 ABBA 模式。
接下来我要匹配不包含该模式的字符串:
然而,这符合一切。
如果我通过为负前瞻指定一个文字来简化这一点:
正则表达式与字符串“anallagmatic”不匹配,这是所需的行为。
所以看起来问题出在我在负前瞻中使用捕获组和反向引用。
regex - 捕获组在 Select-String 的 -Pattern 末尾不起作用
我最近开始在 Powershell 中使用正则表达式,并且遇到了来自 Select-String cmdlet 的意外响应。
如果您输入如下内容:
您会收到来自 Match-Info 对象的预期结果:
但是如果将捕获组放在 -Pattern 的末尾:
Match-Info 似乎没有找到任何东西,尽管创建了一个:
正如我所说,我对 Powershell 很陌生,所以我认为这种行为是操作员错误。
但是解决方法是什么?这种行为还没有给我带来问题,但考虑到我正在使用的文件(XML 文件中包含的电子手册),我希望它最终会发生。
...
带着敬意,
施韦特
...
澄清:
我让我的例子非常简单来说明行为,但我最初的问题是这种模式:
该文件是我们手册之间链接的索引之一,链接的名称包含在文件每一行的注释块中。
该模式实际上是一个错字,因为名称和注释并没有一直到行尾。当程序在 Match-Info 对象中找不到“链接名”时开始出错时,我发现了它。
一旦我给它链接名称(::
)之后出现的字符,它就可以正常工作。将其放入示例中:
java - 第二个捕获组未捕获
在java中,我一直在尝试使用正则表达式解析日志文件。日志文件的一行以下。
我需要行尾的 json 字符串和 id。这意味着我需要两个捕获组。所以我开始编码。
模式末尾的(.*?)
是因为它需要贪婪,但;
在输入行的最末尾返回。
但是,上面的代码输出
但是我的“休息”组在哪里?为什么整条线都是一个组?我检查了多个在线正则表达式测试站点,它应该可以工作:例如http://www.regexplanet.com/advanced/java/index.html看到 3 个捕获组。也许这与我目前正在使用 jdk 1.6 的事实有关?