我尝试使用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]+)\'?\;
答案 0 :(得分:1)
那个人应该做的工作:
^VAR ([^ =]+) ?=[ ']*([^']+)'?;$
答案 1 :(得分:1)
问题是\w
仅匹配单词字符,因此空格和=
都不会出现。试试这个(demo):
VAR (\w+)\s?=\s?'?([^']+)'?;
答案 2 :(得分:0)
这将使用环视行为获取单引号内的所有数据。
(?<=').+?(?=')
这将获得密钥名称。
(?<=VAR )[a-zA-Z0-9. ]+(?=\=)