この記事では、PHP エディターの Xiaoxin が、ネストされた繰り返しを含む正規表現を紹介します。正規表現は、文字列の検索、置換、検証に使用できる強力な文字列一致ツールです。ネストされた繰り返しとは、正規表現で 1 つ以上の繰り返しパターンを使用することを指し、これらの繰り返しパターンは他のパターンでネストできます。この手法は、HTML タグ、入れ子になった括弧などの階層構造とテキストを照合するために使用できます。ネストされた繰り返し正規表現の構文と使用法を理解することで、さまざまな複雑な文字列一致のニーズをより柔軟に処理できるようになります。
Go で、スペースで区切られた最大 50 個の単語に一致する正規表現を作成しようとしています。各単語は 1 ~ 32 個の「a」です。 次の正規表現を使用しています
リーリー次のエラーが表示されます
リーリーこのように、最大 31 回まで繰り返すことができることに気付きました。 リーリー
https://go.dev/play/p/rlnrox9-57_mを参照してください解決策Go のregexp エンジンには
制限最上層と内部リピートの組み合わせは、最も内側のリピート部分のコピーが 1000 を超えてはなりません。これは、re2 文法仕様に記載されています。
解決策は、式を複数の部分に分割することです:
^(a{1,32}\s?){1,31}(a{1,32}\s?){0, 19} $
以上がネストされた繰り返しを含む正規表現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。