0

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

我可以使用类似的东西:

/:."yes"/g

还是我需要更复杂的东西?

4

3 回答 3

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
    }
}
于 2012-08-10T01:10:15.733 回答
1

这是正则表达式的通用形式:

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

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

于 2012-08-09T23:52:00.483 回答
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";
}

您可以在此处测试代码。

于 2012-08-10T00:18:08.853 回答