Go の正規表現でグループ機能をキャプチャする
Go の正規表現 (Google RE2 ライブラリを使用) は、サポートする Ruby の正規表現とは異なります。グループを捕獲します。したがって、Ruby からコードを移植する場合は、Go と互換性があるように正規表現を書き直す必要があります。
たとえば、Ruby の正規表現を考えてみましょう。
(?<Year>\d{4})-(?<Month>\d{2})-(?<Day>\d{2})
この式は年をキャプチャします。 、月、日を名前付きキャプチャ グループに分類し、簡単に取得できるようにします。 Go で同様の機能を実現するには、次の定義に従っていくつかの P を追加します。
(?P<Year>\d{4})-(?P<Month>\d{2})-(?P<Day>\d{2})
re.SubexpNames():
package main import ( "fmt" "regexp" ) func main() { r := regexp.MustCompile(`(?P<Year>\d{4})-(?P<Month>\d{2})-(?P<Day>\d{2})`) fmt.Printf("%#v\n", r.FindStringSubmatch(`2015-05-27`)) fmt.Printf("%#v\n", r.SubexpNames()) }
以上がRuby の名前付きキャプチャ グループを Go 正規表現で複製するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。