-3

私は正規表現が初めてで、クラスの標準フィールドを認識する正規表現を見つけようとしています。

これまでのところ私は持っています

private (double|int|char|String|boolean) .+

上記の型のみが使用され、修飾子はプライベートのみであり、名前は Java 命名標準および規則の標準に従うと想定されています。ただし、ブラケット () は正規表現の一部であるため、ブラケット () を削除する方法がわかりませんでした。いくつかのメソッドが一致する可能性があるため:

private String regex(){
  return "hello";
}

() を削除するにはどうすればよいですか? ありがとう

4

1 に答える 1

3

Java 識別子.+の命名要件に厳密に従うように展開し、その後にセミコロンまたは代入演算子を要求することができます。

次のようなもの(要件の大まかな概算):

private (double|int|char|String|boolean) \\w+\\s+[=;]

ただし、任意の順序、ジェネリックなどの他のフィールド修飾子 ( transientfinal、 ) を使用して文法を記述できるすべての可能な方法を解析しようとするのに、かなりの時間を費やす必要があります。static

おそらく、最終目標が何であるかを理解し、より合理的なアプローチを探したいと思うでしょう。

于 2013-09-18T05:59:40.850 に答える