regex - 是否可以?匹配完全相同数量的左括号和右括号

标签 regex qt

我不是正则表达式方面的专家。我正在尝试创建一个正则表达式来匹配完全相同数量的左大括号和右大括号,但我不知道该怎么做。

一个例子:

nothing: important, a b { c {{{ a another {{ nothing }} }}} }

或:

one { two {{ error, forgot ending brace }}

问题是我不知道我要事先准备多少牙套。在第一个示例中,我需要获取文本 { c {{{ a another {{ nothing }} }}} 。在第二个中,我需要获取 {{ error, forgot ending brace }}

是否有可能创建一个匹配规则来执行此操作? (我正在使用 Qt Regex 引擎)。

最佳答案

这个问题不能用正则语法解决 => 它不能用正则表达式来解决。

但是 - 根据 Dirk Vollmar 的评论 - 某些正则表达式引擎具有扩展功能,例如.NET 一个,它能够使用所谓的 "balanced group definitions" 匹配括号.

关于regex - 是否可以?匹配完全相同数量的左括号和右括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2415872/

相关文章:

regex - Perl 正则表达式 : How to grab the part that is the same

java - (模式和匹配器)未发现所有模式匹配

javascript - 正则表达式向前查找多个元素

java - 不包含 00 的二进制序列的正则表达式

c++ - C++/Qt 中的精确宽度整数 : Is typedef int qint32 really correct?

c++ - 如果我不想使用 QMainWindow 的布局,我应该使用什么来代替 QMainWindow? QMainWindow 应该首选在哪里?

qt - 在 Qt GraphicsView 中创建长线(或交叉线)光标的最佳方法

javascript - 为 ReactJS 过滤对象中的对象

c++ - 为什么QWidgets是通过指针访问的?

c++ - 堆/堆栈 - 进入 QGraphicsItemGroup 的变量范围