[英]Java Regex: can't assign variable to pattern.compile()
这是我的代码,我查看了表明它可以接受String的库。 不知道这里是什么问题。
String currentText = "";
String regex = "";
public void prepRegex() {
currentText = textField.getText();
regex = regexField.getText();
}
public void checkFunc() {
prepRegex();
try {
Pattern regex = Pattern.compile(regex); // This doesn't work <---
Matcher regexMatcher = regex.matcher(currentText);
while (regexMatcher.find()) {
for (int i = 1; i <= regexMatcher.groupCount(); i++) {
// matched text: regexMatcher.group(i)
// match start: regexMatcher.start(i)
// match end: regexMatcher.end(i)
}
}
} catch (PatternSyntaxException ex) {
// Syntax error in the regular expression
}
}
您在自己的初始化程序中引用变量:
Pattern regex = Pattern.compile(regex);
^ This ^ is the same symbol as this
如果要引用实例变量(上面的String regex = "";
),请使用this
对其进行限定:
Pattern regex = Pattern.compile(this.regex);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.