0

我想在字符串中找到以下模式:

"{xxxxx$ppp>5}&&{xxxxx.ppp==5}"

我使用了正则表达式:

"[{a-z$.a-z==><0-9}||&&{a-z$.a-z==><0-9}]"

但在这种情况下,该字符"&&"不包含在字符串中。有人能说出正则表达式模式中的问题吗

4

2 回答 2

0

试试这个正则表达式:

// prints true
System.out.println("{xxxxx$ppp>5}&&{xxxxx.ppp==5}"
      .matches("\\{[a-z]+\\$[a-z]+>[0-9]\\}&&\\{[a-z]+\\.[a-z]+==[0-9]\\}"));

编辑:(回应以下OP的评论)

String input = "{xxxxx$ppp>5}&&{xxxxx.ppp==5}";
Matcher matcher = Pattern.compile("\\{[a-z0-9]+[$.][a-z0-9]+[><=]=?[0-9]\\}")
                         .matcher(input);
while (matcher.find()) {
    System.out.println(matcher.group()); // {xxxxx$ppp>5}
}                                        // {xxxxx.ppp==5}
于 2013-07-28T15:34:53.517 回答
0
\\{[a-zA-Z]+\\$[a-zA-Z]+>5}&&{[0-9]+\\.[a-zA-Z]+==[0-9]+\\}

通过查看您之前的问题,我假设您希望 xxx 和 ppp 是任何字母字符串,而 5 是任何数字字符串。

于 2013-07-28T15:16:21.763 回答