当前位置: 首页 > 知识库问答 >
问题:

Java正则表达式-非法重复字符

暨成双
2023-03-14

我的正则表达式是

(?:--|#|\/\*|{)

当我在java中使用Pattern.complie()编译时,我得到了*非法重复字符*

测试了这个正则表达式

(a|\/\*|b)

当我编译这个时,它没有显示错误。

为什么会发生这种情况?

共有1个答案

齐宗清
2023-03-14

这是因为{。它用于指定某事应该重复多少次。例如x{2,4}将匹配x重复2(xx)、3(xxx)或4(xxxx)次。

如果希望正则表达式匹配< code>{文字,则需要对其进行转义:

(?:--|#|\/\*|\{)
 类似资料:
  • 问题内容: 如何在Java Regex中定义重复组? 假设一个2位数[0-9] {2}多次用分隔, 这是可能的还是唯一的机会? 编辑:我想验证并提取。 问题答案: 最简单的方法是使用两步解决方案:1)首先,验证字符串,然后2)用您选择的定界符分割字符串: 在此,匹配以两位数字开头的整个字符串,然后匹配出现的0个或多个和结尾的两位数字,然后用逗号分割该字符串。注意你不需要和美女主播与图案内,因为该方

  • 关于正则表达式有很多类似的问题,但我仍然对以下情况感到困惑:

  • 问题内容: 我对正则表达式了解不多,但是我需要匹配一个简单的模式。以下内容应返回true, 当inputLine为 但是,我收到此异常: 我究竟做错了什么? 问题答案: 该和是在Java中的正则表达式方言(和大多数其他方言为此事)特殊:他们是对的重复数量的开闭令牌哪里以及是整数。因此,错误消息:“非法重复”。 您应该摆脱它们:。 而且由于您似乎正在尝试解析JSON,所以建议您看看Jackson。

  • 问题内容: 有没有办法使用正则表达式来匹配重复的字符集?例如: 我知道那是错的。但是有什么可以匹配这种效果的吗? 更新: 您可以使用嵌套捕获组吗?像什么? 问题答案: 将要重复的正则表达式放在括号中。例如,如果您要重复5次: 或者,如果您想要任意数量的重复(0或更多): 或一个或多个重复: 编辑 以回应更新 正则表达式中的括号有两个作用:它们将正则表达式中的一系列项目组合在一起,以便您可以将运算符

  • 上面的reg exp如何支持小写字母。

  • 如何在不包含连续子字符串baa的字母表{a,b,c}上表达正则表达式?