-3

したがって、この正規表現は、Java ファイルを宣言するすべてのタイプのメソッドを見つけることができるようにするためのものです。これで使用しているJavaファイルのすべてのインスタンスを取得する必要があると思いますが、問題は無効なエスケープシーケンスを取得し続けることです(有効なものは \b \t \n \f \r \" \' \ です)。

これが文字列です。

private String map = "(public|final|protected|private|static|\s) (final|static)* +[\w\<\>\[\]]+\s+(\w+) *\([^\)]*\) *(\{?|[^;]) {";

これは、Eclipse IDE でエラーが発生していた部分です。

(public|final|protected|private|static|\s)

これには他にも同様の投稿がたくさんあることは理解していますが、そのうちの約10件を検索した後でも問題を理解できませんでした.

助けてくれてありがとう。

4

1 に答える 1

6

Java 文字列リテラルのエスケープ文字を 2 倍にする必要があります。

private String map = "(public|final|protected|private|static|\\s) (final|static)* +[\\w\\<\\>\[\\]]+\\s+(\\w+) *\\([^\\)]*\\) *(\\{?|[^;]) {";

Java 文字列リテラルのそれぞれは、文字列自体で\\単一になります。\

于 2013-03-28T04:12:18.930 に答える