gpt4 book ai didi

java - 用于识别构造函数声明的正则表达式

转载 作者:行者123 更新时间:2023-11-30 04:31:29 25 4
gpt4 key购买 nike

我正在编写一段代码,它需要能够识别 Java 源文件中的无参数构造函数声明。虽然这些声明在语法上需要正确,但它们仍然可能分布在多行中,例如:

public MyCons()

public
MyCons()

甚至

public

MyCons
(

)

我对 Java 中的正则表达式非常陌生,所以我不知道如何让它工作。到目前为止我尝试过的是:

public[\\s|\\n]*MyCons[\\s|\\n]*\\(\\S+\\)

它似乎没有检测到涉及多个交替空格和换行符的情况,如上面的最后一个示例所示。另外,如果我可以用只接受一个单词的正则表达式替换 MyCons,那就太好了(尽管这不是绝对必要的)。

我该如何解决这个问题?

最佳答案

您需要使用反向引用,因为类名和构造函数名称始终相同..

class\\s*([a-zA-Z\\d$]+).*?(public\\s+\\1\\s*\\(\\s*\\))

Group 2 捕获所需的构造函数

匹配时需要使用DOTALL正则表达式选项

关于java - 用于识别构造函数声明的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14547314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com