我正在寻找一个正则表达式,以在(其他)正则表达式字符串中找到命名的捕获组。
例如:我想找到(?P<country>m((a|b).+)n),(?P<city>.+)并(?P<street>(5|6)\. .+)在下面的正则表达式:
/(?P<country>m((a|b).+)n)/(?P<city>.+)/(?P<street>(5|6)\. .+)
我尝试了以下正则表达式来查找命名的捕获组:
var subGroups string = `(\(.+\))*?`
var prefixedSubGroups string = `.+` + subGroups
var postfixedSubGroups string = subGroups + `.+`
var surroundedSubGroups string = `.+` + subGroups + `.+`
var capturingGroupNameRegex *regexp.RichRegexp = regexp.MustCompile(
`(?U)` +
`\(\?P<.+>` +
`(` + prefixedSubGroups + `|` + postfixedSubGroups + `|` + surroundedSubGroups + `)` +
`\)`)
?U使贪婪量词(+和*)变得非贪婪,并使非贪婪量词(*?)变得贪婪。Go正则表达式文档中的详细信息。
但这不起作用,因为括号未正确匹配。
千巷猫影
相关分类