(他の) 正規表現文字列で名前付きキャプチャ グループを見つけるための正規表現を探しています。
例: I want to find (?P<country>m((a|b).+)n)
, (?P<city>.+)
and (?P<street>(5|6)\. .+)
in the following regex:
/(?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 正規表現のドキュメントを参照してください。
しかし、括弧が正しく一致していないため、機能しません。