繁体   English   中英

Java正则表达式:无法将变量分配给pattern.compile()

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM