适合这种模式的正则表达式是什么?

时间:2017-01-11 05:32:16

标签: python regex pattern-matching

我对正则表达式很新。我试图匹配的模式就是这样:

    A= "SOME_VALUE"
    X = 'SOME_OTHER_VALUE'
L = "HERES_ANOTHER_VALUE"            # yes, there are some instances of non-indentation 
    c = {
        D = "E",
        F='G',
        H = "I"

    }
    Q = "A VALUE WITH SPACES"
    V='VALUE_WITH_KEY_V'

我做过一些游戏'在regex101上,我提出的模式如下:

[\s]*?([\w]+)[\s]*?\=[\s]*?([\'\"\,\{\w\s\}]+)[\n]+

The output on regex101

我想将子类捕获为一个整体值。但是,正如您从输出中看到的那样,我没有得到所需的结果。此外,如果我可以将整个子类捕获为可选组,那将会很棒。但我不知道该怎么做。

上述模式最有效的正则表达式是什么?

1 个答案:

答案 0 :(得分:2)

这样的事情应该有效:\w+\s*=\s*((\{.*?\})|(['"].*?['"]))(请注意,这需要使用.DOTALL标志来允许.匹配新行,这在您处理时非常有用类。

表达式的示例可用here