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

标签 perl

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

test_case_be "+test+tx+rx+path"

对于上述输入,我想将整个字符串分成两部分:
  • 双引号 [ test_case_be 之外的字符串] 我要存储在$temp1 .
  • 双引号内的字符串 [ +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 - Grep 匹配模式文件的所有行(perl -e 也可以)

    mysql - Perl-将日期从YEAR-MM-DD转换为MONTH,DD,YEAR年

    html - perl 不在命令提示符下打印特殊字符

    perl - 这个 Perl 脚本实现了什么?

    perl - 我可以在 Test::More 的 cmp_ok 中使用智能匹配~~吗?

    javascript - 提交表格并停留在同一页面上?

    perl - 如何从未命名的 Perl 模块导入所有 "our"变量而不列出它们?

    linux - perl 输出奇怪的 `pwd`

    java - 用java重写Perl和shell脚本有意义吗?

    linux - 如何捕获输入以在makefile中形成输出目录