1

我有一个随机变量,让我们在大括号内将其称为 R,如下所示:

{R}

我试图用这个正则表达式:

{(.*?)//}

然后我有这个错误

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

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

我尝试在没有括号相同的错误的情况下这样做。本次指标目标"."

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

4

5 回答 5

5

尝试转义花括号:

String regex = "\\{(.*?)\\}";
于 2012-05-31T15:41:12.210 回答
3

正则表达式中使用大括号来定义特定的序列重复。

你必须在正则表达式中转义它们。

\{(.*?)\}

应该工作得更好

于 2012-05-31T15:41:16.063 回答
1

转义 {}:

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

我发现这个交互式正则表达式测试页面对改进 Java 正则表达式很有用。

于 2012-05-31T15:42:00.010 回答
0

不完全清楚你想要做什么

\{.*\}

应该管用

于 2012-05-31T15:41:40.590 回答
0

您可以使用反斜杠转义特殊字符\。请参阅在正则表达式中必须转义哪些特殊字符?了解更多信息(尽管没有一般规则)。尝试转义花括号{}和斜线//

于 2012-05-31T15:42:25.907 回答