1

次の正規表現を持つコードに何度か遭遇しました。

\((\X*?)\)

括弧内のすべてに一致します。*が0回以上繰り返され、?がゼロまたは1回の場合、両方を持つことは無関係のようです。は *?*と同等ですか、それとも両方を組み合わせた特別な意味がありますか?

4

1 に答える 1

8

?その後、+または*その演算子を貪欲でないものにします。つまり、最大回数ではなく、最小回数の一致を試みます。

たとえば、{hi}{there}{(.*)}の一致はグループと一致しますが、hi}{thereこれは望ましくない場合があります。欲張りでないものを使用すると、必要に応じ{(.*?)}て一致が得られます。hithere

于 2013-03-06T03:32:23.880 に答える