Perl:读取字符串中双引号之间的内容

标签 perl

我有一个字符串,字符串的一些内容用双引号引起来。 例如:

test_case_be "+test+tx+rx+path"

对于上面的输入,我想将整个字符串分成两部分:

  1. 双引号外的字符串 [test_case_be] 我想存储在 $temp1 中。
  2. 双引号内的字符串 [+test+tx+rx+path] 我想将其存储在 $temp2 中。

有人可以帮我提供有关如何执行上述操作的示例代码吗?

最佳答案

这个可以做到:

my $input_string = qq(test_case_be "+test+tx+rx+path");
my $re = qr/^([^"]+)"([^"]+)"/;

# Evaluating in list context this way affects the first variable to the
# first group and so on
my ($before, $after) = ($input_string =~ $re);

print <<EOF;
before: $before
after: $after
EOF

输出:

before: test_case_be 
after: +test+tx+rx+path

关于Perl:读取字符串中双引号之间的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14270748/

相关文章:

perl - Perl-自定义错误输出

perl - 使用 www::mechanize 的爬虫

regex - PCRE(递归)模式匹配包含正确括号子字符串的字符串。为什么这个会失败?

php - 如何调试从 PHP 文件调用的 Perl

perl - 如何在Perl中自动初始化所​​有标量变量?

perl - 如何在 ActivePerl 5.8.7 上安装 Devel::Cover?

perl - 如何禁用特定类的Log4perl输出?

perl - 如何让 LWP 验证 SSL 服务器证书?

perl - 如何通过解析 WSDL 文件直接创建 SOAP 请求?

python - 关于字符编码的 Python 和 Perl 打印差异