質問のJavaバックスラッシュエスケープ

1.文字列のバックスラッシュ

バックスラッシュ(\)はJAVAで特別な意味を有し、そのエスケープ文字のような、文字を構成すること、続いて-のように「\ n 'は(ラインフィードによって表される)\「」 『(文字で表される[』])と、その文字列で表現するためにバックスラッシュ\を使用する「\\」を指定しますしたがって、例えば、文字列を定義するのString =「名\性別は」そうのString =「名\\セックス」を定義するために、間違っています

次のように定義された不正な文字列は、与えられています

String regx = "women\halou";
System.out.print(regx);

出力:

Error:(17, 30) java: 非法转义符

次のように定義された正しい文字列

String regx = "women\\halou";
System.out.print(regx);

出力:

women\halou
Process finished with exit code 0

2.正規表現のバックスラッシュ

「\\」の文字の表現に続いては、エスケープ文字が続いている定期的に特別な意味を表し、あなたはバックスラッシュを表現したい場合はそう\、正規表現で」書かれるべき\ \\\。 "

次のマッチA \

String regx = "\u0041\\\\";
Pattern p = Pattern.compile(regx);
Matcher m = p.matcher("A\\\\b");
while(m.find()){
 	System.out.println(m.group());
        }

出力:

D:\ProgramFiles\eclipse\eclipse\JDK\bin\java.exe...
A\
Process finished with exit code 0

以下は、電話番号と一致します

String regx = "\\d\\d\\d\\d-\\d\\d\\d\\d\\d\\d\\d";
Pattern p = Pattern.compile(regx);
Matcher m = p.matcher("小明的电话号码为:0563-4667722,小方的电话为:0555-7777777");
  while(m.find()){
    System.out.println(m.group());
        }

出力:

0563-4667722
0555-7777777
Process finished with exit code 0
公開された33元の記事 ウォンの賞賛1 ビュー2614

おすすめ

転載: blog.csdn.net/orangerfun/article/details/104004399