2

私が取り組んでいる古いシステムでこの正規表現を見つけました。

(\s*)*

最後の余分な「 * 」は冗長であると確信していますが、削除する前に何もしていないことを確認したいと思います。パラメーターとして使用される文字列に 25 個以上のスペースが含まれている場合、システム全体がハングするポイントまで regex.matches() メソッドで使用されると、パフォーマンスの問題が発生します。

その特定の構文に特別な機能があるかどうかは誰にもわかりませんか?

Ps: かなり巨大なシステムなので、考えられるすべてのシナリオをテストすることはできません

4

2 に答える 2

1

冗長です。複数の一致を使用して、0 個以上のスペースのグループをキャプチャすることができます。これは、余分なアスタリスクが指定しているものです。

于 2012-07-06T23:21:29.883 に答える
1

内側が貪欲であると仮定すると*、そうです、外側は冗長だと思います。外側*はサブマッチを繰り返そうとしますが、貪欲であるため、サブマッチのインスタンスは 1 つしかありません。

于 2012-07-06T23:21:45.757 に答える