java - 匹配器/图案不打印

标签 java regex

import java.io.*;
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class 3HourLabHours {

    public static void main(String[] args) throws FileNotFoundException {
       //create string variable for filepath
    String fileName = "C:\\Users\\Frank\\Downloads\\Courses.txt";

    String line = null;

    try {

            FileReader fileReader = new FileReader(fileName);
        //scans file into bufferedReader
            BufferedReader bufferedReader = new BufferedReader(fileReader);
        //goes through each line in text file
            while ((line = bufferedReader.readLine()) != null) {
        //creates pattern to match
             Pattern p = Pattern.compile("((^[a-zA-Z]+\\s\\d+[a-zAz]\\s\\d\\s\\d\\s)(\\d))");
        //matches pattern to line in text                                                              
                Matcher m = p.matcher(line);

                if (m.find()) {   
                      System.out.print(m); 
                }
            }
        }catch (FileNotFoundException fnfe) {
            fnfe.printStackTrace();
        } catch (IOException ioe) {
            ioe.printStackTrace();
        }
    }
}

我想知道为什么我创建的模式与文本中的任何行都不匹配。粗体是应该匹配和打印的内容。

文本文件示例:

“会计 ACG 2021 3 3 0 财务会计原理 • 先决条件:安置的评估分数 MAT 0024C 或更高数学或最低成绩 MAT 0012C 或 APA 1111 或 MTB 1103 中的 C 会计概念、原则、程序和基础理论 适用于会计性质、财务报表、会计 周期、流动 Assets 、厂房和设备、长期投资、 无形 Assets 、工资、流动负债、长期债务和 所有者权益,包括独资企业的会计处理, 合伙企业和公司。 (特别费用:30.00 美元) ACG 2071 3 3 0 管理会计原则 • 先决条件:ACG 2021 考虑成本的业务信息需求 会计概念和关系、现金流量表、 财务报表分析、本量利分析、方差分析 分析、预算、定价决策、资本支出决策、 以及用于决策的管理会计分析。 (特别费用:30.00 美元) ACG 2100 3 3 0 中级会计一”

最佳答案

尝试从模式中删除“^”,看看结果是否会改变。

插入符号表示该模式仅在输入的开头匹配。由于您一次匹配一行,因此粗体文本必须位于行的开头才能匹配。

编辑:另外,“[a-zAz]”不起作用。首先,您可能打错了字母范围。此外,所有粗体文本都没有数字后跟所需的单个字母。 (双重编辑:4caSTLe 在评论中所说的。)

编辑#3:删除类名开头的“3”。 Java 中类型名称不能以数字开头。

关于java - 匹配器/图案不打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37819183/

相关文章:

java - 如何为 IBM HTTP Server 编写插件?

java - 如何根据 JavaFX 中的内容设置窗口最小尺寸?

javascript - 解析两个元素之间的值

java - Spark 1.6 : How do convert an RDD generated from a Scala jar to a pyspark RDD?

java - 从java在远程linux中运行命令

java - 通过 smack 从 openfire(xmpp) 服务器删除群聊历史

regex - 使用重写规则清理 url 不起作用

c# - 匹配运算符

python - 如何更正此正则表达式和函数以验证 pandas 列值模式的正确性?

Javascript 替换删除 HTML