正则表达式捕获键值对的值

时间:2017-08-03 21:31:34

标签: regex key-value

我正在尝试捕获键值对的值。例如,在以下示例中,我想要捕获值“foo”和“bar”。

实施例。 node = foo type = bar

2 个答案:

答案 0 :(得分:0)

有关通过正则表达式捕获特定字符串的一般理解,您可以考虑以下模式: foo = bar

(.*[^=])=(.*)

foo 将与括号中的第一个组匹配(匹配不是“=”的所有内容,表示在“=”之前停止)

= 将直接与“=”匹配

bar 将与第二组匹配(其他所有内容直到行尾)

这有效,例如如果你的对每对存储在一个单独的行中。 这只是试图解释一般如何捕捉工作。

对于您的特定示例: node = foo type = bar

.*[^=]=(.*[^ ]) .*[^=]=(.*[^ ])

第一个括号组将匹配 foo ,第二个括号

请注意,正则表达式库的实现可能会有所不同,并且在各种语言中也会略有不同,例如: php,java,C ++等。

有几个在线正则表达式测试人员可以玩,例如。

https://regex101.com/

答案 1 :(得分:0)

^.+=(.*)会在您的示例中捕获foobar

我发现this网站对构建/测试正则表达式模式很有帮助