如果模式匹配或执行另一个代码块(如果模式不匹配),我将如何执行代码块?
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
。
答案 0 :(得分:6)
您的代码是正确的,但您的正则表达式是错误的。它与您的任何一个示例都不匹配。
也许你可以试试这个正则表达式:
final String mainRegex = "(.*?)(&!|&|==)(.*)";
查看在线工作:ideone