小编典典

Java正则表达式,用于检测类/接口/等声明

java

我正在尝试创建一个检测新类的正则表达式,例如:

public interface IGame {

要么

private class Game {

这是我到目前为止所没有的,但是没有检测到:

(line.matches("(public|protected|private|static|\\s)"+"(class|interface|\\s)"+"(\\w+)"))

任何人都可以给我一些指示吗?


阅读 318

收藏
2020-11-26

共1个答案

小编典典

如下更改您的正则表达式以匹配两种类型的字符串格式。

line.matches("(?:public|protected|private|static)\\s+(?:class|interface)\\s+\\w+\\s*\\{");

例:

String s1 = "public interface IGame {";
String s2 = "private class Game {";
System.out.println(s1.matches("(?:public|protected|private|static)\\s+(?:class|interface)\\s+\\w+\\s*\\{"));
System.out.println(s2.matches("(?:public|protected|private|static)\\s+(?:class|interface)\\s+\\w+\\s*\\{"));

输出:

true
true
2020-11-26