正则表达式,匹配特定字符串和字符之间的文本

时间:2013-07-24 00:12:47

标签: regex

我有一个问题,我似乎无法在网上找到答案。我有一些文字:

Variable1 = Value1, Variable2 = Value2, Variable3 = Value3, Variable4 = Value4,

假设我想找的字符串是"Variable2 = "

我想要"Value2"返回。它不能包含逗号。

到目前为止,我能想到的最好的是:

(Variable2)\s\=\s(.+?),

但这会返回Variable2 = Value2,

其他信息

我坚持使用名为Automate BPA的程序。它有一些内置的正则表达式支持。

我希望这是可能的,我感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

在目标周围使用后视和前瞻:

(?<=Variable2\s?=\s?).+?(?=,|$)

前瞻符合逗号或输入结尾,因此如果您搜索它,它仍会匹配上一个词。

答案 1 :(得分:0)

$var = 'Variable1 = Value1, Variable2 = Value2, Variable3 = Value3, Variable4 = Value4,';

$new = preg_split( '/,/', $var);

print_r($new);

这会将其分解为索引数组

Array ( [0] => Variable1 = Value1 [1] => Variable2 = Value2 [2] => Variable3 = Value3 [3] => Variable4 = Value4 [4] => )