我对正则表达式很新。我试图匹配的模式就是这样:
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]+
我想将子类捕获为一个整体值。但是,正如您从输出中看到的那样,我没有得到所需的结果。此外,如果我可以将整个子类捕获为可选组,那将会很棒。但我不知道该怎么做。
上述模式最有效的正则表达式是什么?
答案 0 :(得分:2)
这样的事情应该有效:\w+\s*=\s*((\{.*?\})|(['"].*?['"]))
(请注意,这需要使用.DOTALL
标志来允许.
匹配新行,这在您处理时非常有用类。
表达式的示例可用here。