gpt4 book ai didi

java - 编写一个简单的正则表达式类只会给出空结果

转载 作者:行者123 更新时间:2023-12-02 03:39:13 25 4
gpt4 key购买 nike

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

这是类(class)

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;
}
}

在主类中:

String UESRecovTime_pattern="(UES_recovery_time_\\(msec\\).*)";
HRM_SwallowTableExtractor swallTabExtract=new HRM_SwallowTableExtractor(stuff,UESRecovTime_pattern);

但是,当我运行此命令时,我只返回一个空数组。我认为问题是没有找到该模式(是的,它在文本正文中)。反过来,我认为这与如何将主要文本带入实例化类(作为 String 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;
}

关于java - 编写一个简单的正则表达式类只会给出空结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37039094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com