重写此正则表达式仅在存在其他char时才匹配

时间:2010-06-04 21:33:10

标签: java regex

我有这个正则表达式

Pattern pattern = Pattern.compile("\\{([^\\}]+)\\}");

匹配{a1 | a2 | a3}和{a4}格式

如何重写上述行,仅在管道中包含这些匹配项存在,所以匹配{a1 | a2 | a3}并且在{a4}

上不匹配

1 个答案:

答案 0 :(得分:2)

在正则表达式中添加竖线字符:

"\\{([^\\}]+\\|[^\\}]+)\\}"