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

正则表达式两边计数字符[重复]

惠凯歌
2023-03-14

我不完全确定这个标题是否有意义,但我不确定如何更好地解释。我正在尝试匹配一个字符串,该字符串以一个或多个,以相同数量的)结尾。。我尝试了许多不同的方法,但我不知道如何在regex中执行此操作,或者是否可能!有人能把我送到正确的方向吗?

例子

匹配:(a)

匹配:((a))

不匹配:((a)

不匹配:((a))

等等,你明白了。

共有1个答案

赏高格
2023-03-14

使用堆栈数据结构,您可以相对轻松地做到这一点。一个字符一个字符地处理字符串,遇到时按(,遇到时弹出)。如果在字符串处理结束时到达时堆栈为空,则该字符串是有效的。否则,如果堆栈为空,则字符串无效。

要计数,只需保持堆栈将达到的最大大小的变量。

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

  • 主要内容:实例下表包含了元字符的完整列表以及它们在正则表达式上下文中的行为: 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或

  • 我的正则表达式是 当我在java中使用Pattern.complie()编译时,我得到了*非法重复字符* 我测试了这个正则表达式 当我编译这个时,它没有显示错误。 为什么会发生这种情况?

  • 问题内容: 我正在尝试创建一个匹配字符串的正则表达式,如果它连续有3个或多个重复字符(例如aaaaaa,testtttttt,otttttter)。 我尝试了以下方法: 连续 匹配 任意 3个字符,但不 连续的 字符…我在哪里出错? 问题答案: 您要的内容无法使用 真正的 正则表达式完成,您需要的是(不规则的)反向引用。尽管许多正则表达式引擎实现了它们,但Go使用的RE2却没有。RE2是一种快速的

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

  • 我想验证用户的输入,我使用以下(工作良好)作为regex。 但当我尝试所有我想要的角色时,就是这样。 它不起作用,我不知道为什么。此外,如果您能向我解释添加和有什么不同,我将不胜感激。另外,我尝试使用来代替空格,但仍然不起作用(我更喜欢使用空格,因为我想限制行的更改)。