Pattern.quote("パターン") は を返します\Qpattern\E
。文字列にメタ文字がない場合、文字列をリテラル化する必要は本当にありますか?
質問する
366 次
2 に答える
5
\Q
いいえ、必要ではありませんが、おそらく実装を簡素化し、不必要なコスト\E
がかなり小さいため、実装者が選択したことです。
私の JDK では、Pattern.quote()
気にする唯一のことは、パターンに既に\Q
とがあるかどうかです。\E
他の特殊文字は検索しません。
于 2012-12-02T09:13:44.183 に答える
1
私の推測では、それはより単純でより効率的だと思います。最初のパスを実行してメタ文字があるかどうかを確認し、次に2番目のパスを実行してそれらを引用する代わりに、メタ文字があると想定し、常に引用します。
于 2012-12-02T09:15:23.980 に答える