我正在尝试捕获键值对的值。例如,在以下示例中,我想要捕获值“foo”和“bar”。
实施例。 node = foo type = bar
答案 0 :(得分:0)
有关通过正则表达式捕获特定字符串的一般理解,您可以考虑以下模式: foo = bar
(.*[^=])=(.*)
foo 将与括号中的第一个组匹配(匹配不是“=”的所有内容,表示在“=”之前停止)
= 将直接与“=”匹配
bar 将与第二组匹配(其他所有内容直到行尾)
这有效,例如如果你的对每对存储在一个单独的行中。 这只是试图解释一般如何捕捉工作。
对于您的特定示例: node = foo type = bar
.*[^=]=(.*[^ ]) .*[^=]=(.*[^ ])
第一个括号组将匹配 foo ,第二个括号栏
请注意,正则表达式库的实现可能会有所不同,并且在各种语言中也会略有不同,例如: php,java,C ++等。
有几个在线正则表达式测试人员可以玩,例如。
答案 1 :(得分:0)
^.+=(.*)
会在您的示例中捕获foo
和bar
。
我发现this网站对构建/测试正则表达式模式很有帮助