如果找到其他字符,则忽略结束字符(在代码中查找范围)

时间:2014-04-21 15:26:07

标签: c++ regex scope

我目前正在尝试如何在C ++中使用Regex来获得更高级的东西,比如创建我自己的编码语言(只是为了它的乐趣)而且我在阅读时遇到了一些问题代码范围。

我目前正在使用此文本来测试我的正则表达式,

private char test;
public static int foo = 0;
private int var = 0;
private void run(char data, int add) 
{
     var += 50 + add;
     print (var + test, asdm, asf.getString());
     if (var == 70) {
        print("yes");
     }
}

我正在使用的正则表达式用于读出运行范围及其中的if语句,

\{([\S\s]*?)\}

这就是它匹配atm

{
    var += 50 + add;
    print (var + test, asdm, asf.getString());
    if (var == 70) {
        print("yes");
    }

问题在于它在实际需要之前找到了},我想知道是否有办法解决这个问题,并将每个范围作为自己的一部分来捕捉。< / p>

我已尝试搞乱环回,但我一直收到错误&#39;表达式包含不匹配(和)&#39;即使它应该是有效的正则表达式。编辑,我发现正则表达式的c ++版本(默认版本)不支持lookbehind,这就是为什么它没有用。

0 个答案:

没有答案