0

私はJavaと正規表現の初心者で、一致する正規表現が「A」か「OO」か「NC」かを知りたいと思っていました。私はそれをテキストファイルと比較しています。他のスレッドを読んで試してみましたが、正しくできません。報告されていない例外が助けてくださいというメインメソッドにも問題があります。

UserLogin.java

public static String userLoginVerify(String actNum,String pass) throws FileNotFoundException
{
    Scanner scan = null;
    AtmMenu atm = new AtmMenu();
    try {   
            scan = new Scanner(new BufferedReader(new FileReader("atm\\atmstatus.flat")));
            while(scan.hasNext())
            {   
                String lines;
                lines = scan.nextLine();
                Pattern pattern = Pattern.compile("[A]||[OO]||[NC]");

                        Matcher matcher = pattern.matcher(lines);

                if(matcher.find()) {
                    System.out.println(matcher.group(1));    
                    }
            }

    }catch(FileNotFoundException filenotfound)
        {
            System.out.println("File \"atmstatus.flat\" can't be found!");
        }       
    finally
    {   
        if(scan != null)
        scan.close();
        return "me";
    }
}

メインメソッドはこちら

public static void main(String[] login) 
{   
    passLoginInfo(login[0],login[1]);   

}

public static void passLoginInfo(String accountNumber, String password)
{
    UserLogin userLogin = new UserLogin();  
    userLogin.userLoginVerify(accountNumber, password);

}   

ここに私がチェックしているファイルがあります

currentamount               | stat
P500,000,000,000,000,000.00 | A

私は統計の手紙をチェックしています

4

2 に答える 2

0

私は自分の問題を解決しました。これが私がしたことです:

scan = new Scanner(new BufferedReader(new FileReader("atm\\atmstatus.flat")));
            while(scan.hasNext())
            {   
                String lines;
                lines = scan.nextLine();
                System.out.println(lines[2]);
                Pattern pattern = Pattern.compile("[A]|[OO]|[NC]");             
                        Matcher matcher = pattern.matcher(lines);                                               
                if(matcher.find()) {
                    System.out.println(matcher.group(0));    
                    }
            }
于 2013-10-15T06:13:50.943 に答える
0

A、OO、および NC についてのみの場合は、次のように正規表現を使用できます。

?.*\\s*A|OO|NC\\s*.*$
于 2013-10-15T05:58:55.137 に答える