正则表达式匹配perl

时间:2012-08-09 23:48:36

标签: regex perl

我正在尝试将字符串的一部分与是或否答案匹配。字符串可以是:'{"valid_js":"yes"...''{"valid_js":"no"...'。我想要得到“是”或“不是”

我可以使用以下内容:

/:."yes"/g

或者我需要更复杂的东西吗?

3 个答案:

答案 0 :(得分:2)

尝试这样的事情......

if (m/"valid_js":"(yes|no)"/)
{
    # At this point $1 will contain either yes or no
    if ($1 eq 'yes')
    {
      # Answer is yes
    }
    else
    {
      # Answer is no
    }
}

答案 1 :(得分:1)

这是regexp的一般形式:

valid_js["]:["](yes|no)["] -> $1

您可以使用该正则表达式进行匹配或替换。

答案 2 :(得分:0)

这可以帮到你:

$input = '{"valid_js":"yes"...';

if (($input =~ m/"valid_js":"(.*?)"/) && ($1 eq 'yes')) {
  print "1: yes\n";
}

$input = '{"valid_js":"no"...';

if (($input =~ m/"valid_js":"(.*?)"/) && ($1 eq 'yes')) {
  print "2: yes\n";
}

您可以测试代码here