我需要在某些关键字之后和符号"="
或";"
之前识别单词
我通过分割
使用以下方法 String res = "private String name1, name2, name3; ";
Matcher matcherWithCommar = Pattern
.compile("(?<=^private)\\W+(String|float|long|short|double|byte|boolean|int|char)\\W+(.+?)(;|=)",
Pattern.CASE_INSENSITIVE)
.matcher(res);
if (matcherWithCommar.find()) {
System.out.println("Varibels : " + matcherWithCommar.group(2).trim());
String[] parameters = matcherWithCommar.group(2).trim().split(Pattern.quote(","));
for (int r = 0; r < parameters.length; r++) {
System.out.println("names: " + parameters[r]);
}
}
此解决方案使输出带有空格
我的输出就像
Varibels : name1, name2, name3
names: name1
names: name2
names: name3
但是我需要这样
Varibels : name1, name2, name3
names: name1
names: name2
names: name3
没有空格
答案 0 :(得分:3)
将.split(Pattern.quote(","));
更改为与逗号前后的空白匹配的正则表达式模式(无需引用)。喜欢,
.split("\\s*,\\s*");
有了我的改变
Varibels : name1, name2, name3
names: name1
names: name2
names: name3