Go 正規表現で繰り返しグループをキャプチャする方法?
GO での繰り返しグループのキャプチャ
大文字の単語の後に 0 個以上の double が続くなど、特定の形式に従う文字列を解析しようとする場合-引用符で囲まれた引数を使用するには、必要な要素を取得する正規表現を定義する必要があります。提供されたシナリオでは、正規表現
re1, _ := regexp.Compile(`([A-Z]+)(?: "([^"]+)")*`)
を使用して繰り返し引数を取得しようとしましたが、すべての引数を正しく取得できませんでした。この問題を解決するために、改訂された正規表現が提案されています。
re1, _ := regexp.Compile(`([A-Z]+)|(?: "([^"]+)")`)
この改訂された正規表現は、周囲の引用符をキャプチャせずに、大文字の単語または二重引用符で囲まれた文字列のいずれかに一致します。このアプローチにより、次のコード スニペットに示すように、繰り返し引数をより適切にキャプチャできるようになります。
results := re1.FindAllStringSubmatch(`COMMAND "arg1" "arg2" "arg3"`, -1) fmt.Println("Command:", results[0][1]) for _, arg := range results[1:] { fmt.Println("Arg:", arg[2]) }
この改訂されたアプローチでは、コマンドとその 3 つの引数が正常にキャプチャされ、それらが個別に出力されます。
以上がGo 正規表現で繰り返しグループをキャプチャする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか?

MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は?

GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか?

GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか?

トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか?
