Pattern p = Pattern.compile("(ma)|([a-zA-Z_]+)");
Matcher m = p.matcher("ma");
m.find();
System.out.println("1 " + m.group(1) + ""); //ma
System.out.println("2 " + m.group(2)); // null
Matcher m = p.matcher("mad");
m.find();
System.out.println("1 " + m.group(1) + ""); //ma
System.out.println("2 " + m.group(2)); // null
しかし、文字列「mad」が2番目のグループに含まれる必要があります。パターン先読み
私の状況では私はマッチを使用することはできません。私は私のパターンで先を見せる何かが必要だと思う。 – itun
'(ma)$ |([a-zA-Z _] +)$'を使用できますか?それは再び文字列の最後まで来るように強制し、 'find'はまだ動作します。 –
私の仕事では長い文字列がありますが、どこにこのパターンの字句がたくさんあるのですが、それはなぜ一致しないものを使用するのかです。 – itun