Java 编写一个简单的正则表达式类只会得到空结果
我对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
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;
}