-3

重複の可能性:
DOT の正規表現

文字列があるとします:

String domain =  "www.example.com";

「例」という単語を抽出するために、Javaで分割機能を使用しています

String[] keys = domain.split(".");
String result = keys[1];

「。」であるため、明らかにこれは間違っています。任意の文字に一致するため、間違った正規表現です。

文字「.」に具体的に一致するエスケープ シーケンスは何ですか?

この質問は些細なことのように思えますが、クイックリファレンスや以前の回答が見つからないようです。ありがとう。

4

6 に答える 6

7

以下のようにエスケープすることで

\\.
于 2012-06-12T07:55:19.983 に答える
4

を使用し\\.ます。あなたはそれを逃れる必要があります。

于 2012-06-12T07:55:25.867 に答える
2

Pattern.quote() を使用して、任意のリテラル文字列の正規表現を取得できます。

Pattern.quote(".") は "\\." に評価されます。

この場合、\\ を使用した方がわかりやすいでしょう。

于 2012-06-12T08:06:16.703 に答える
2

.を前に付けることでエスケープできます\\。したがって、使用\\.理由は、リテラル文字列\\が単一のバックスラッシュであることです。正規表現では、バックスラッシュもエスケープ文字です。正規表現\\は単一のバックスラッシュに一致します。

于 2012-06-12T07:56:30.240 に答える
0

dotまたは、エスケープせずに、を含むクラスを作成することもできます。

[.]
于 2012-06-12T08:09:42.363 に答える
0

または角かっこを使用して、.文字をエスケープできます。\\.[.]

したがって、コードは次のようになります。

String[] keys = domain.split("\\."); // or domain.split("[.]");
String result = keys[1];
于 2012-06-12T08:05:14.207 に答える