0

パターンが一致する場合はコード ブロックを実行し、パターンが一致しない場合は別のコード ブロックを実行するにはどうすればよいでしょうか?

String input = "abc";

final String mainRegex = "(.*?)(&!|&|==)";

final Matcher matcher = Pattern.compile(mainRegex).matcher(input);


私が試してみました

if(matcher1.matches())
{
    execute this block
}

else
{
    execute this block
}

ただし、常にelseブロックを実行します。入力がa>b&!c<d.

4

1 に答える 1

6

コードは正しいですが、正規表現が間違っています。どちらの例とも一致しません。

おそらく、代わりに次の正規表現を試すことができます。

final String mainRegex = "(.*?)(&!|&|==)(.*)";

オンラインでの動作を確認してください: ideone

于 2012-08-30T19:38:57.357 に答える