我试图匹配 INI 文件的整个部分,但每个部分下的值都是非标准 INI,现在它直到下一部分才匹配。
这是我到目前为止所拥有的: ^\[GROUP2]([^[]+)
匹配对象:
[GROUP1]
;This is something I don't want
COMMAND(value:test)
COMMAND(value:[type="submit"])
COMMAND(value:test)
COMMAND(value:test)
[GROUP2]
;This is something I don't want
COMMAND(value:test)
COMMAND(value:[type="submit"])
COMMAND(value:test)
COMMAND(value:test)
Run Code Online (Sandbox Code Playgroud)
功劳也归于@Toto。Rust 标签最初没有被提及,后来添加了。当它清除时,Rust regexcrate 不支持任何环顾。
它的语法类似于 Perl 风格的正则表达式,但缺少一些功能,例如环视...
经过大量讨论,似乎这个正则表达式适用于@James。我不确定 Rust 中的括号需要多少转义。为了安全起见,我已经避开了每个文字括号。
^\[GROUP2\].*(?:\r?\n\s*[^\]\[\s].*)+
Run Code Online (Sandbox Code Playgroud)