Tag: 捕获组

这个正则expression式如何find三angular形数字?

作为一系列教育正则expression式文章的一部分,这是对嵌套引用的概念的一个温柔的介绍。 前几个三angular形数字是: 1 = 1 3 = 1 + 2 6 = 1 + 2 + 3 10 = 1 + 2 + 3 + 4 15 = 1 + 2 + 3 + 4 + 5 有很多方法来检查一个数字是否是三angular形的。 有这个有趣的技术,使用正则expression式如下: 给定n ,我们首先创build一个长度为n的string,填充相同的字符 然后我们将这个string与模式^(\1.|^.)+$匹配 当且仅当此模式匹配string时, n才是三angular形 以下是一些片段,可以显示出这种语言可以使用多种语言: PHP(在ideone.com上) $r = '/^(\1.|^.)+$/'; foreach (range(0,50) as $n) { if […]

这个Django正则expression式是什么意思? `?P`

我在我的urls.py中有以下正则expression式,我想知道它是什么意思。 特别是正则expression式的(?P<category_slug>部分。 r'^category/(?P<category_slug>[-\w]+)/$

斯卡拉捕获组使用正则expression式

比方说,我有这个代码: val string = "one493two483three" val pattern = """two(\d+)three""".r pattern.findAllIn(string).foreach(println) 我预计findAllIn只返回483 ,而是返回两个483 two483three 。 我知道我可以使用unapply来只提取部分,但我必须有一个整个string的模式,像这样: val pattern = """one.*two(\d+)three""".r val pattern(aMatch) = string println(aMatch) // prints 483 有没有其他的方式来实现这一点,而不直接使用java.util的类,而不使用unapply?

Vim正则expression式捕获组

我有一个单词列表: bau ceu diu fou gau 我想把这个列表变成: byau cyeu dyiu fyou gyau 我试过这个命令: :%s/(\w)(\w\w)/\1y\2/g 为了使捕获组在Vim中工作,我需要做些什么改变?

R中的正则expression式组捕获多个捕获组

在R中,是否有可能从正则expression式匹配中提取组捕获? 据我所知, grep , grepl , regexpr , gregexpr , sub或gsub gregexpr返回组捕获。 我需要从编码的string中提取键值对: \((.*?) :: (0\.[0-9]+)\) 我总是可以做多个完全匹配的greps,或者做一些外部的(非R)处理,但是我希望我可以在R内完成所有的工作。是否有一个函数或者一个包提供了这样的function呢?

有没有一个正则expression式的味道,让我可以计算*和+操作符匹配的重复次数?

有没有一个正则expression式的味道,让我可以计算*和+操作符匹配的重复次数? 我特别想知道在.NET平台下是否有可能。

如何在JavaScript Regexp中捕获任意数量的组?

我期望这一行的JavaScript: "foo bar baz".match(/^(\s*\w+)+$/) 返回像这样的东西: ["foo bar baz", "foo", " bar", " baz"] 但是它只返回最后捕获的匹配项: ["foo bar baz", " baz"] 有没有办法让所有被捕的比赛?

什么是非捕获组? 问号跟一个冒号(?:)是什么意思?

读了一些教程后,我仍然不明白。 有人可以解释一下?:是用来做什么的?