提取键值项的正则表达式

时间:2013-03-11 21:33:02

标签: regex string extract

我尝试使用regexp从string中提取key = value项。 值字符串可以包含或不包含引号和空格(键入字符串或数字)。

字符串如下所示:

VAR key = 'value in string mode';
VAR key = 34;
VAR key=3.3;
VAR key='another value without empty spaces between =';

我想要提取密钥和值。

我发展但是错了。

VAR \@(\w+)\s?\=\s?\'?([\w]+)\'?\;

3 个答案:

答案 0 :(得分:1)

那个人应该做的工作:

^VAR ([^ =]+) ?=[ ']*([^']+)'?;$

答案 1 :(得分:1)

问题是\w 匹配单词字符,因此空格和=都不会出现。试试这个(demo):

VAR (\w+)\s?=\s?'?([^']+)'?;

答案 2 :(得分:0)

这将使用环视行为获取单引号内的所有数据。

(?<=').+?(?=')

这将获得密钥名称。

(?<=VAR )[a-zA-Z0-9. ]+(?=\=)