如何捕获正则表达式中的递归组?

时间:2019-06-06 02:43:44

标签: regex

我正在尝试捕获一个模式,该模式可以在不同组的正则表达式中多次出现。可以多次出现的模式是:

(\b\\d{4}\\s*\\d{4}\\s*\\d{4}\\s*\\d{4}\b\\s*)

请参阅完整的测试@ here

预期输出应为:

Full Match:
Group1:1111 1111 1111 1111
Group2:2222 2222 2222 2222
... GroupN...

这如何实现?

2 个答案:

答案 0 :(得分:1)

如果我正确理解了这个问题,我们希望匹配一个四位数字,并且将空格模式重复三遍,然后再重复四位数字,并且我们很可能可以从一个简单的表达式开始,例如:

(\d{4}\s)\1\1(\d{4}\s?)

Demo 1

或者,如果我们将四位数字模式匹配四次,并且将空格匹配三遍,那么我们可能会以以下表达式开始:

(\d{4})(\s+)\1\2\1\2\1

Demo 2

RegEx电路

jex.im可视化正则表达式:

enter image description here

答案 1 :(得分:0)

使用:

CleanupCameraAsync()

Demo

说明:

ContentDialog

示例代码(php):

hostname = dns.resolver.query(username.split('@')[1], 'MX')[0].to_text().split(' ')[-1]