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中,为什么 `while(<HANDLE>) {…}`构造不本地化 `$_`?

string - perl字符串中的行数

perl - 在 Perl 中使用 web::scraper 提取特定信息

linux - 替换括号中的单词以放入引号中

perl - 匿名哈希中的奇数个元素

xml - 使用 perl 将字符串 xml 插入到节点

带有附加配置文件的 perlcritic

perl - 如何包含位于不同目录中的 Perl 模块?

arrays - 将2个数组放入perl中的散列中

regex - perl正则表达式通过关键字查找Java StackTrace