问题标签 [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.

0 投票
2 回答
67 浏览

java - 正则表达式捕获符号前后的数字

我希望能够将数学表达式/方程式发送到我的程序中,并让它给我结果答案。我正在使用正则表达式来解码要操作的数字。这是我当前用于添加的正则表达式代码:

这适用于第二个数字,m.group(2)m.group(1)只返回运算符符号之前的最后一个数字,我尝试了几种不同的方法,这是我最新的没有运气的方法。我究竟做错了什么?

编辑:这些是 3 种解决方法,它有一些我正在测试的测试输出。

当我打印这个时:
System.out.println((new ExpressionSolver()).solve("(24 * 100) - (24 / 12)"));
这是输出:

0 投票
1 回答
121 浏览

php - 正则表达式仅匹配完整条件,但对于搜索引擎,它应该以 less 满足

和往常一样,我是世界上最糟糕的正则表达式制造者。但这次我真的试过了。

所以我的目标是制作一个处理搜索相关内容的正则表达式。搜索查询可能是这样的:

  • 堆栈溢出
  • “堆栈溢出”
  • 标题="堆栈溢出"
  • 类型:图像标题=堆栈溢出
  • 堆栈溢出类型:图像
  • 状态:关闭类型:图像标题:堆栈溢出

但它应该能够单独检测它们。它应该能够检测直接匹配的引用。只有标题,必须在其后面有搜索查询,但其他条件可以是任何顺序。

现在我被困住了..我设法做到了这个正则表达式。它仅适用于状态:关闭类型:图像标题:堆栈溢出。事物之间的点()使它起作用。如果我用 | 替换它,那么我得到第一部分匹配。但是让这个工作,所有可能的查询格式对我来说是不可能的。

这是工具,我试着做这一切:http ://regexr.com/39an1我的涂鸦也在里面。

这是针对搜索引擎类型的东西。所以我希望匹配的结果,在 PHP 内部很容易使用。另外,我认为有人可以从中受益匪浅,它会有一个解决方案。

如果有人可以立即将我指向正确的位置,至少带有点与 | 在主要()事物之间。感觉就像 | = 或,但我想要有点像 and-or 的东西。

0 投票
2 回答
3543 浏览

javascript - 如何使用 javascript 正则表达式从字符串中获取域

正如标题所示,我正在尝试使用 javascript 正则表达式从字符串中检索域。

取以下字符串:

我已经阅读过 “Regex to find domain name without www - Stack Overflow”“Extract root domain name from string - Stack Overflow” ,但它们太复杂了,所以我尝试编写自己的正则表达式:

它适用于,"google.com"但返回,"www.google.com"等等。"www.google.com.sg"http"http://google.com/""http://www.google.com/"

由于我是正则表达式的新手,我似乎无法弄清楚出了什么问题......有什么想法吗?

提前致谢!

0 投票
1 回答
59 浏览

java - {X} 的 Java 正则表达式捕获组

我有一个带有字符序列的正则表达式。我希望将序列部分分组。

这种模式工作正常,但我需要以下 Part 的组(((([^\\|]))*\\|){11})。这可以使用简短的正则表达式吗?

这是没有选择的:\\dR\\|\\d\\|((([^\\|]))*\\|) ((([^\\|]))*\\|) ((([^\\|]))*\\|) ((([^\\|]))*\\|)....

0 投票
2 回答
1719 浏览

java - 正则表达式:从字符串的引号之间获取值

这与:RegEx:在引号之间抓取值有关。

如果有这样的字符串:

链接上给出的正则表达式

在给我

什么正则表达式将返回用引号括起来的值(特别是在\"标记之间)?

使用Java,String.split(String regex)方式。

0 投票
2 回答
1609 浏览

java - 用 Asterisk 获得 Group 的匹配?

如何获取带有星号的组的内容?

例如,我想削减一个逗号分隔的列表,例如1,2,3,4,5.

输出是

我怎样才能得到每一个条目,即1, 2, 3, ...?

我正在寻找一个通用的解决方案。这只是一个示范性的例子。
请想象一个更复杂的正则表达式,比如^\\[(\\d+)(,\\d+)*\\]$匹配一个列表[1,2,3,4,5]

0 投票
5 回答
1628 浏览

java - 正则表达式匹配一个数字或什么都不匹配

我需要一个可以匹配这样的正则表达式:

我来写这个正则表达式:

当我尝试匹配矩形时它工作正常,但它不适用于圆形

问题是我的第五组没有捕捉到,虽然它应该是?

0 投票
1 回答
35 浏览

javascript - 将每个匹配的值放在自己的捕获组中

我在这方面已经太久了,试图弄清楚如何匹配以逗号分隔的值字符串,同时将这些值分解为它们自己的捕获组。以下是我的要求:

  • 没有前导逗号
  • 术语可以是字母数字,包含 1 到 7 个字符
  • 最少:1个学期;最大:无限制
  • 术语和逗号之间的无限空格
  • 没有尾随逗号

我非常接近,但我无法将字符串中的所有术语都放入他们自己的捕获组中。相反,它将第一个捕获组中的最后一个匹配项放入组#1,而不是将所有匹配项放入先前的组中。所以这是我的例子:

abc1234、def5678、ghi9012

我希望 abc1234 成为第 1 组,def5678 成为第 2 组,ghi9012 成为第 3 组。相反,使用下面的表达式,我在组#1 中得到 def5678,在组#2 中得到 ghi9012。

/(?:([A-z0-9]{1,7})\s*,\s*)+([A-z0-9]{1,7})/g

链接到 RegExr 示例

我很确定我没有正确设置我的捕获/非捕获组。任何帮助将不胜感激。

0 投票
1 回答
824 浏览

.net - Regex: how to extract unique groups matching a pattern

Is there a way to extract unique captured groups matching a regex pattern in c# .net ? I need to a have list uniqueSiteElementKeys3 with 2 elements, SiteElements[10] and SiteElements[11]

0 投票
4 回答
464 浏览

regex - 匹配数字中的增量数字

在谷歌上搜索了很多天之后,最后我在这里发布了这个问题,并希望在这里得到专家的解决;我正在寻找可以匹配增量反向引用的正则表达式模式。让我解释:

对于 number 9422512322,模式(\d)\1将匹配22两次,我想要(\d)\1+1匹配12second digit等于)的模式(类似于first digit + 1

简而言之,模式应该匹配所有出现的情况,如12, 23, 34, 45, 56, 等......没有替换,只需要匹配。