如何使用perl reg表达式

时间:2017-02-08 13:35:27

标签: string perl

我有以下字符串:

{\"id\":01,\"start_time\":\"1477954800000\",\"stop_time\":\"1485817200000\",\"url\":http:://www.example.com\}

我希望得到start_time(1477954800000)的值。 我在https://regex101.com/尝试了几件事,但我找不到处理字符串和值之间的特殊字符(\":\")的方法。

例如,如果字符串是 start_time = 1477954800000
我知道通过使用

start_time\":\"(\w+)/)

我会得到这个价值。 有关如何获得价值的任何想法\":\"参与了吗?

1 个答案:

答案 0 :(得分:3)

您的示例数据看起来像一个字符串化的JSON对象,如果是这种情况,您应该使用JSON解析器而不是正则表达式:

#!perl

use strict;
use warnings;

use feature qw(say);
use JSON;

my $json_string = <DATA>;
chomp($json_string);

my $json_object = decode_json $json_string;

# get the value of the start_time key
say $json_object->{start_time};
# 1477954800000

__DATA__
{"id":1,"start_time":"1477954800000","stop_time":"1485817200000","url":"http://www.example.com"}