有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Matcher/模式不打印

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 会计概念、原则、程序和基本理论 适用于会计性质、财务报表、会计核算 周期、流动资产、厂房和设备、长期投资、, 无形资产、工资、流动负债、长期债务和 所有者权益,包括独资企业的会计核算, 合作伙伴关系和公司。(特别费用:30.00美元) ACG 20713 0 管理会计原理 先决条件:ACG 2021 考虑成本的业务信息需求会计 会计概念和关系,现金流量表, 财务报表分析、成本-数量-利润分析、差异 分析、预算、定价决策、资本支出决策、, 以及管理会计决策分析。 (特别费用:30.00美元) ACG 2100 3 0 中级会计I“


共 (1) 个答案

  1. # 1 楼答案

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

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

    编辑:“[a-zAz]”也不起作用。首先,你可能输入了字母的范围。此外,粗体文本中没有数字后跟所需的单个字母。(双重编辑:4castle在评论中所说的内容。)

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