大括号值在大括号内

时间:2012-05-31 15:37:37

标签: java regex eclipse

我有一个随机变量让我在一个大括号内调用它,如下所示:

{R}

我试图用它来正则表达式:

{(.*?)//}

然后我有这个错误

"Caused by: java.util.regex.PatternSyntaxException: 
Syntax error U_REGEX_RULE_SYNTAX near index 1:"

指标定位{(.*?)} "("

我试过没有括号相同的错误。此时间指标针对"."

有人可以帮助我在大括号内找到正则表达式项的替代解决方案吗?

5 个答案:

答案 0 :(得分:4)

尝试转义大括号:

String regex = "\\{(.*?)\\}";

答案 1 :(得分:3)

在regexp中使用curly括号来定义特定的序列重复。

你必须在正则表达式中逃脱它们。

\{(.*?)\}

应该更好用

答案 2 :(得分:1)

逃离{} s:

String regStr = "\\{.\\}";

我发现this interactive regex testing page对于改进Java正则表达式非常有用。

答案 3 :(得分:0)

并不完全清楚你想要做什么
\{.*\}

应该有效

答案 4 :(得分:0)

您可以使用反斜杠\转义特殊字符。有关详细信息,请参阅What special characters must be escaped in regular expressions?(尽管没有一般规则)。尝试转义花括号{}并斜杠//