-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+[=;]

但是,您将不得不花很多时间尝试解析语法可以使用其他字段修饰符(transient, final, static)编写的所有可能方式,这些修饰符可以是任何顺序,泛型等。

您可能想弄清楚您的最终目标是什么,并寻找更合理的方法。

于 2013-09-18T05:59:40.850 回答