我正在做一个项目,我在这里获得了一个字符串形式的源代码。
有一种方法可以说a1.check(a2);
现在我循环遍历字符串以尝试确定如何使用检查变量,即当我得到.check(
的索引时,我想要提取a1
和a2
。特技a1
可以转到任何变量,例如a100
或a1000
和a2
相同的情况。
是否可以为此编写正则表达式?如果是,你可以帮助我吗?我对正则表达式一无所知,我使用简单的索引和子字符串编写。
答案 0 :(得分:2)
假设a1
和a2
代表字母数字字符串(即ASCII字母/数字加上下划线),您可以使用
(\w+)\.check\((\w+)\)
在Java中:
Pattern regex = Pattern.compile("(\\w+)\\.check\\((\\w+)\\)");
Matcher regexMatcher = regex.matcher(subjectString);
while (regexMatcher.find()) {
a1 = regexMatcher.group(1)
a2 = regexMatcher.group(2)
// Do something with a1 and a2
}