Java 编写一个简单的正则表达式类只会得到空结果

Java 编写一个简单的正则表达式类只会得到空结果,java,class,Java,Class,我对java中的类相当陌生,所以我只是想尝试编写一个简单的正则表达式类。我失败了 这是上课时间 import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; public class HRM_SwallowTableExtractor { String x; String pattern; ArrayList<String> myArra

我对java中的类相当陌生,所以我只是想尝试编写一个简单的正则表达式类。我失败了

这是上课时间

import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class HRM_SwallowTableExtractor {
    String x;
    String pattern;
    ArrayList<String> myArray = new ArrayList<String>();

    public HRM_SwallowTableExtractor(String x,String pattern) {
        x=this.x;
        pattern=this.pattern;
    }

    public ArrayList<String> SwallwTabExtract(String x,String pattern) {
        Pattern pat = Pattern.compile(pattern);
        Matcher matcher_pattern = pat.matcher(x);

        while (matcher_pattern.find()) {
            String p=matcher_pattern.group(1).trim();
            String [] arr=p.split("\\s");
            for (int i=0;i<arr.length;i++){
                myArray.add(arr[i]);
            }
        }
        return myArray;
    }
}

但是,当我运行此命令时,只返回一个空数组。我认为问题在于没有找到模式(是的,它在正文中)。反过来,我认为这与如何将主文本引入实例化类(如字符串x)或模式如何实例化有关。我不知道怎么弄清楚这个。我没有列出我正在使用的文本,但是如果需要的话,我很乐意提供。

您会得到一个空数组,因为您可能误解了局部变量和实例变量,或者您刚刚犯了一个反转错误

 public HRM_SwallowTableExtractor(String x,String pattern) {
    //x=this.x; //this should be invert 
    this.x = x; //you should try this
    pattern=this.pattern;
}

您得到一个空数组,可能是因为您误解了局部变量和实例变量,或者您刚刚犯了一个反转错误

 public HRM_SwallowTableExtractor(String x,String pattern) {
    //x=this.x; //this should be invert 
    this.x = x; //you should try this
    pattern=this.pattern;
}