我是正则表达式的新手,并试图找出一个识别类的标准字段的正则表达式。
到目前为止我有
private (double|int|char|String|boolean) .+
假设只使用上面的类型,修饰符只是私有的,名称遵循 Java 命名标准和约定的标准。但是我无法弄清楚如何消除括号 (),因为它们是正则表达式的一部分。因为可以匹配一些方法:
private String regex(){
return "hello";
}
我如何消除()?谢谢
我是正则表达式的新手,并试图找出一个识别类的标准字段的正则表达式。
到目前为止我有
private (double|int|char|String|boolean) .+
假设只使用上面的类型,修饰符只是私有的,名称遵循 Java 命名标准和约定的标准。但是我无法弄清楚如何消除括号 (),因为它们是正则表达式的一部分。因为可以匹配一些方法:
private String regex(){
return "hello";
}
我如何消除()?谢谢
您可以扩展您.+
以更严格地遵循Java 标识符命名要求,然后在此之后要求使用分号或赋值运算符。
类似的东西(对要求的粗略近似):
private (double|int|char|String|boolean) \\w+\\s+[=;]
但是,您将不得不花很多时间尝试解析语法可以使用其他字段修饰符(transient
, final
, static
)编写的所有可能方式,这些修饰符可以是任何顺序,泛型等。
您可能想弄清楚您的最终目标是什么,并寻找更合理的方法。