Java 使用正则表达式匹配字符串中的变量

Java 使用正则表达式匹配字符串中的变量,java,regex,Java,Regex,我想在java中使用正则表达式与组匹配这些场景,但我对正则表达式不是很在行,不知道如何匹配重复的事情,例如: 文本:本地var1、var2、var3=100 我想匹配以获得所有lua变量名,因此我的匹配将是'var1'和'var2'以及'var3' 文本:self.var1,self.var2=200 与上面相同,但使用self而不是local-我希望匹配'var1'和'var2' 最后 文本:var1、var2、var3=300 我想我可以用第一个正则表达式来做这个,对吗?我希望这些匹配可以用

我想在java中使用正则表达式与组匹配这些场景,但我对正则表达式不是很在行,不知道如何匹配重复的事情,例如:

文本:本地var1、var2、var3=100

我想匹配以获得所有lua变量名,因此我的匹配将是'var1'和'var2'以及'var3'

文本:self.var1,self.var2=200

与上面相同,但使用self而不是local-我希望匹配'var1'和'var2'

最后 文本:var1、var2、var3=300

我想我可以用第一个正则表达式来做这个,对吗?我希望这些匹配可以用于1个或多个匹配,这样所有这些都可以工作:

var1=10

var1,var2=10

self.v=1

self.v1,self.v2=20

本地v1,v2=10

本地v1=30

我不需要所有这些在一个大正则表达式,2或3个不同的模式将工作。(希望这种类型的问题是合适的,因为我没有任何代码可以显示…)


提前谢谢

我认为这样做应该行得通

String input = "...Your input...";
List<String> matches = new ArrayList<>();

Matcher m = Pattern.compile("(\\w+)\\s*(?=[,=])").matcher(input);
while(m.find()) {
    matches.add(m.group(1));
}
String input=“…您的输入…”;
列表匹配项=新的ArrayList();
匹配器m=Pattern.compile(“(\\w+)\\s*(?=[,=])”).Matcher(输入);
while(m.find()){
匹配。添加(m组(1));
}

谢谢,为我的目的稍微调整一下,效果很好!