当前位置: 首页 > 知识库问答 >
问题:

Regex匹配循环从不终止

孙佑运
2023-03-14
09-JUN-15 22:33     Eq:1    P1010030    1   HPCT: 0.0   RlTqCur:532 RlTqMin:-266    RlTqMax:270 ESMIN:2 ESMAX:2

编辑:修正了缺少的“)”,对不起,这不是问题。是的,我在模式中使用了一个不区分大小写的标志。下面是一些更多的代码:

    Pattern p = Pattern.compile(regexData.getJobDataType1(),Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
    Matcher m = p.matcher(fileData);


    while (m.find()) {


    }

Edit2:stribizhev在下面指出的问题是,我在filedata中读取的字符串实际上是整个ASCII文件。

共有1个答案

长孙景天
2023-03-14

由于期望值位于单行中,因此逐行读取整个输入要安全得多。

为此使用BufferedReader

例如:

BufferedReader reader = ...; // initialize the reader
String line = null;
Pattern p = Pattern.compile(regexData.getJobDataType1(),Pattern.CASE_INSENSITIVE);    
while ((line = reader.readLine()) != null)
{
     Matcher m = p.matcher(line);
     while (m.find()) {
            // Process the match
     }
}
 类似资料:
  • 或者更好的方法是遍历它,为参数的每个索引获取TRUE或FALSE标志 我只知道如何使用matcher.find()进行循环,如果有任何帮助,我将不胜感激

  • 问题内容: 正则表达式后给我错误 请求字符串在哪里 任何帮助,将不胜感激。 问题答案: 尚未尝试匹配。先致电再致电。 输出:

  • 问题内容: 我有一个正则表达式,用于匹配表格的表达式 这个正则表达式看起来像: 正如您在本演示中看到的那样,这实际上很好,并且与我想要的匹配 但是:D(黄油来了) 我想通过使其更易读和“紧凑”来优化正则表达式本身。我搜索了如何执行此操作,然后找到了一种称为反向引用的名称,您可以在其中命名捕获组,然后像下面这样引用它们: 我在其中命名了捕获表达式左侧的组,后来我将其引用为,现在的 问题 是,仅在表达

  • 我有一个GWT应用程序,我从文本框中获取输入,检查正则表达式的值,如果匹配,然后我将该文本添加到表格中。当我为例如“你好”输入任何正确的输入时,它工作得非常好。 任何帮助都将不胜感激。

  • 我试图在一个字符串中选择多个匹配项,如下所示: 123 废话 结束 45 废话 结束 理想情况下,我希望它返回2个以数字序列开头和以END字符串结尾的匹配项。我使用以下内容: 但是,上述模式在一个匹配项中返回整个输入字符串。我有一种感觉,这与“单行”选项有关。我做错了什么?

  • 问题内容: 我正在创建单词表示该句子的包。然后将句子中存在的单词与文件“ vectors.txt”进行比较,以获取其嵌入矢量。在获取句子中每个单词的向量之后,我将句子中单词的向量取平均值。这是我的代码: 不知道为什么,但是我得到这个错误: PS嵌入向量如下所示: 使用np.sum后,出现此错误: 问题答案: 您有一个numpy的字符串数组,而不是浮点数。这就是一个小端编码的unicode字符串,最