1

オラクルのドキュメントには、以下のステートメントがあります。

メタチャテクターは<([{\^-=$!|]})?*+.>

There are two ways to force a metacharacter to be treated as an ordinary character:

    * precede the metacharacter with a backslash, or
    * enclose it within \Q (which starts the quote) and \E (which ends it).

最初に私が理解した方法。

2番目の方法について詳しく説明できる人はいますか?

ありがとう

4

2 に答える 2

3
* enclose it within \Q (which starts the quote) and \E (which ends it).

メタキャラクターを考慮$して、これを通常の文字として扱いたい場合は、次のように と で囲む必要がある 2 番目の方法を使用$\Qます\E

 "\\Q$\\E" (eqvivalent to `\\$`)

ただし、有効なエスケープ シーケンスではないため、バックスラッシュを追加\Qしてエスケープする必要があることに注意してください。\E

于 2013-01-08T11:32:29.913 に答える
0

特別なメソッド Pattern.quote(String) があります。これは基本的に内部で行うことです

    int slashEIndex = s.indexOf("\\E");
    if (slashEIndex == -1)
        return "\\Q" + s + "\\E";

文字列に"\\E"シーケンスが含まれている場合は、それらをエスケープします

于 2013-01-08T11:50:44.060 に答える