问题标签 [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 投票
8 回答
32189 浏览

regex - 如何编写一个排除而不是匹配的正则表达式,例如,not (this|string)?

我很难创建一个排除组的 Emacs 正则表达式。[^]排除集合中的单个字符,但我想排除特定的字符序列:类似[^(not|this)],以便包含“not”或“this”的字符串不匹配。

原则上,我可以写([^n][^o][^t]|[^...]),但还有另一种更清洁的方法吗?

0 投票
6 回答
42324 浏览

arrays - 如何将 Perl 正则表达式中的捕获存储到单独的变量中?

我有一个正则表达式:

我如何将每个括号的结果捕获到 3 个不同的变量中,每个括号一个?现在我使用一个数组来捕获所有结果,它们是按顺序出现的,但是我必须解析它们并且列表可能很大。

0 投票
1 回答
169 浏览

c# - C# - 迷失在正则表达式中 - 不同机器上的匹配组

我以为我知道如何编写基本的正则表达式。在我的 VS2008,C# 中的 x64 电脑上,我正在编写以下正则表达式:

此正则表达式应找到所有条目,例如:

使我能够使用命名组并选择每个值键、查询等...并且在我的单元测试 + 调试模式下它可以工作,即使在我自己的 5.1 IIS (x86) 上我部署它工作的应用程序也是如此。但是,当我在生产服务器上部署它时,它不会在尝试访问命名组时抛出字典中不存在的 ney。

0 投票
4 回答
746 浏览

ruby - 一段重复的正则表达式可以创建多个组吗?

我正在使用RUBY的正则表达式来处理文本,例如

我想在每条管道之间获取修剪后的文本。例如,对于上例的第一行,我想要得到结果aaabbbb,对于第二行,我想要aaabbbbccc ccccc。现在我写了一段正则表达式和一段ruby代码来测试它:

现在我的问题是该(?:\|(\s*[^\|]+\s*))+部分无法创建多个组。我不知道如何解决这个问题,因为我在每行中需要的文本数量是可变的。任何人都可以帮忙吗?

0 投票
3 回答
6627 浏览

regex - 正则表达式返回条件组

我花了很多时间找出一个简单的正则表达式来返回一个组(只有第一组)。

所以字符串可以是 - “无需购买”或“需要购买价值 50.00 美元的杂货”。

我正在尝试编写一个正则表达式,它可以根据给定的字符串解析“No”或“50”。

这就是我写的。

这工作正常,但我希望我的输出仅作为第 1 组/第 1 组。

0 投票
3 回答
3756 浏览

python - python中的正则表达式可选匹配失败

给定输入。

谁能告诉我为什么 group(0) 是

并且 group(1) 返回为 None?

我最初使用的是正则表达式,因为在遇到问题之前,匹配比仅匹配 //p// 更复杂,这是完整的代码。我在这方面还很陌生,所以请原谅我的菜鸟,我相信有更好的方法可以完成大部分工作,如果有人想指出那些会很棒的方法。但除了 //[pewPEW]// 的正则表达式过于贪婪之外,它似乎是功能性的。我很感激帮助。


接受文本并清理/转换一些东西。


这是一些示例输入。

0 投票
4 回答
8532 浏览

java - Java Matcher 组:了解“(?:X|Y)”和“(?:X)|(?:Y)”之间的区别

谁能解释一下:

  1. 为什么下面使用的两种模式给出不同的结果?(下面回答)
  2. 为什么第二个示例给出的组计数为 1,但说组 1 的开始和结束是 -1?

这给出了以下输出:

0 投票
4 回答
4288 浏览

python - 如何为句子中的每个单词分组?

这可能是一个愚蠢的问题,但...

假设您有这样的句子:

敏捷的棕色狐狸

或者你可能会得到这样的句子:

敏捷的棕色狐狸跳过了懒惰的狗

简单的正则表达式 (\w*) 找到第一个单词“The”并将其放入一个组中。

对于第一句话,您可以写 (\w*)\s*(\w*)\s*(\w*)\s*(\w*)\s* 将每个单词放在自己的组中,但是假设您知道句子中的单词数。

是否可以编写一个正则表达式,将任意句子中的每个单词放入自己的组中?如果您可以执行类似 (?:(\w*)\s*)* 之类的操作来将 (\w*) 的每个实例分组,那就太好了,但这不起作用。

我在 Python 中执行此操作,而且我的用例显然比“The quick brown fox”要复杂一些,所以如果 Regex 可以在一行中执行此操作会很不错,但如果这不可能,那么我假设是下一个最好的解决方案是使用 re.findall() 或类似的方法遍历所有匹配项。

感谢您提供的任何见解。

编辑:为了完整起见,这是我的实际用例以及我如何使用您的帮助解决它。再次感谢。

0 投票
4 回答
582 浏览

python - Python:匹配双引号和括号内的字符串

我想通过使用正则表达式将双引号和括号内的文本匹配为两组,我该怎么做?

成为

请帮帮我,谢谢。

0 投票
4 回答
115962 浏览

regex - 我可以在正则表达式中使用 OR 而不捕获包含的内容吗?

我正在使用rubular.com来构建我的正则表达式,他们的文档描述了以下内容:

如何使用 OR 表达式而不捕获其中的内容?例如,假设我想捕获“ac”或“bc”。我不能使用正则表达式

正确的?从那时起,我在一组中捕获“a”或“b”,在另一组中捕获“c”,不一样。我知道我可以过滤捕获的结果,但这似乎需要更多的工作......

我错过了一些明显的东西吗?如果相关的话,我在 Java 中使用它。