【问题标题】:Java regular expression that find the attributes of the class查找类属性的Java正则表达式
【发布时间】:2013-09-18 05:53:19
【问题描述】:

我是正则表达式的新手,并试图找出一个识别类的标准字段的正则表达式。

到目前为止我有

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

假设仅使用上述类型,修饰符仅为私有,名称遵循 Java 命名标准和约定的标准。但是我无法弄清楚如何消除括号 (),因为它们是正则表达式的一部分。因为有些方法可以匹配:

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

如何消除 ()? 谢谢

【问题讨论】:

    标签: java regex string regex-negation


    【解决方案1】:

    您可以扩展您的 .+ 以更严格地遵循 Java identifier naming requirements,然后在此之后要求使用分号或赋值运算符。

    类似(对需求的粗略近似):

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

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

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

    【讨论】:

    • :- 谢谢这已经解决了问题,顺便说一下,我将如何将 final 实现为我尝试过的可选(final)?但没有工作
    • (final|) 意思是“最终或一无所有”。 ? 表示单个字符的 0 或 1。注意不同的关键字排序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-03
    • 1970-01-01
    • 1970-01-01
    • 2013-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多