我创建了一个正则表达式来执行此操作。但它也匹配//This class blabla...
\\S*.*\\s*(class|interface|enum|@interface)\\s+.*
你能帮我出一个正则表达式来匹配java class / interface / etc.定义吗?
感谢。
答案 0 :(得分:0)
只需将\ S *。\ s更改为^ \ s *即可。然后,您将只匹配行的开头,任意数量的空格,然后匹配关键字。当然,这与“/ * comment * / class MyClass”这样的行不匹配,但无论如何这将是一个非常不寻常的行。
^ \ S *(类|接口|枚举| @interface)\ S + *
。答案 1 :(得分:0)
正则表达式不够强大,无法可靠地执行此操作。您需要一个实际了解Java的解析器。
您应该使用其中一种: