2016-10-03 3 views
-3

私はまだJavaの初心者ですが、私が知る限り、正規表現を使用するには、[ ]に書く必要があります。なぜこれが動作し、JVMはそれが正規表現であり一部の文字列でないことを知っていますか?コンパイラは文字列をどのように検出するのが正規表現ですか?

s = s.replaceAll("\\s+$" , ""); 
+0

正規表現であるとは考えにくいです。それは単なる文字列です。 –

+0

[* 'replaceAll()' *](http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replaceAll(java.lang.String、%20java.lang .String))help:*指定された正規表現に一致するこの文字列の各部分文字列を、置き換えられた*に置き換えます。これは、正規表現として解析される第1引数のメソッドです。 –

答えて

1

JVMは、正規表現パターンとしてreplaceAll()方法の最初の引数を解析するための命令を与えられているので。

+0

この方法で[]は必要ないのですか? –

+0

正規表現の**部分**として使用したい場合は、それです。 – rorschach

+0

用語の観点からは、regex * formula *ではなくregex *パターン*を使用する方が適切です。 –

関連する問題