当模式可能不匹配时,java正则表达式

时间:2012-08-30 19:36:37

标签: java

如果模式匹配或执行另一个代码块(如果模式不匹配),我将如何执行代码块?

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

1 个答案:

答案 0 :(得分:6)

您的代码是正确的,但您的正则表达式是错误的。它与您的任何一个示例都不匹配。

也许你可以试试这个正则表达式:

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

查看在线工作:ideone