Perl在同一行上匹配多个字符串(双引号和单引号内的所有字符)

问与学

我认为这应该很简单,在同一行上用双引号/单引号匹配字符串

例如,以下所有字符串都在同一行上

"hello" 'world' 'foo' "bar"

我有
print /(".*?")|('.*?')/g;

但是我遇到了以下错误

Use of uninitialized value in print at ...

磨坊主

以下内容将返回您提到的警告:

use strict;
use warnings;

my $str = q{"hello" 'world' 'foo' "bar"};

print $str =~ /(".*?")|('.*?')/g;

这是因为您的正则表达式将仅匹配捕获组中的一个。另一个将不匹配,因此将返回undef

以下将演示:

while ($str =~ /(".*?")|('.*?')/g) {
    print "one = " . (defined $1 ? $1 : 'undef') . "\n";
    print "two = " . (defined $2 ? $2 : 'undef') . "\n";
    print "\n";
}

输出:

one = "hello"
two = undef

one = undef
two = 'world'

one = undef
two = 'foo'

one = "bar"
two = undef

要获得所需的行为,只需将捕获组放在整个表达式周围。

print $str =~ /(".*?"|'.*?')/g;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

双引号和单引号内的Grep字符串

来自分类Dev

查找单引号和双引号字符串,并定义在Perl中找到的字符串

来自分类Dev

用字符串内的双引号替换单引号

来自分类Dev

替换字符串中的单引号和双引号

来自分类Dev

字符串中的单引号和双引号的grep

来自分类Dev

保存包含单引号和双引号的字符串?

来自分类Dev

正则表达式匹配同一行上的多个字符串

来自分类Dev

匹配双引号字符内的字符串并获取接下来的4个字符

来自分类Dev

在包含单引号和双引号的字符串中转义单引号

来自分类Dev

ElasticSearch的查询字符串语法中的单引号和双引号有什么区别?

来自分类Dev

PHP:带有单引号和双引号的复杂字符串

来自分类Dev

从带有单引号和双引号的字符串执行命令

来自分类Dev

有没有办法使用cin在同一行上分配多个字符串?

来自分类Dev

循环在同一行上打印多个字符串

来自分类Dev

循环在同一行上打印多个字符串

来自分类Dev

如何读取文件同一行上的多个字符串?

来自分类Dev

sed提取2个字符串之间的一行上的所有匹配项

来自分类Dev

Python字符串文字-字符串中包括单引号和双引号

来自分类Dev

匹配多个字符串并打印两个字符串是否在同一行 - awk

来自分类Dev

将字符串双引号转换为单引号

来自分类Dev

获取单引号或双引号之间的字符串

来自分类Dev

如何从字符串中删除单引号或双引号?

来自分类Dev

从同时包含单引号和双引号的字符创建字符串?

来自分类Dev

如何使用正则表达式匹配单引号或双引号中的字符串

来自分类Dev

在缺少双引号的地方包含一个字符串

来自分类Dev

在双引号之间提取一个字符串

来自分类Dev

如何grep双引号后跟一个字符串?

来自分类Dev

正则表达式:给定一个字符串,找到双引号中的子字符串和不在双引号中的子字符串

来自分类Dev

preg_match一个带有单引号或双引号的php字符串,转义于其中

Related 相关文章

  1. 1

    双引号和单引号内的Grep字符串

  2. 2

    查找单引号和双引号字符串,并定义在Perl中找到的字符串

  3. 3

    用字符串内的双引号替换单引号

  4. 4

    替换字符串中的单引号和双引号

  5. 5

    字符串中的单引号和双引号的grep

  6. 6

    保存包含单引号和双引号的字符串?

  7. 7

    正则表达式匹配同一行上的多个字符串

  8. 8

    匹配双引号字符内的字符串并获取接下来的4个字符

  9. 9

    在包含单引号和双引号的字符串中转义单引号

  10. 10

    ElasticSearch的查询字符串语法中的单引号和双引号有什么区别?

  11. 11

    PHP:带有单引号和双引号的复杂字符串

  12. 12

    从带有单引号和双引号的字符串执行命令

  13. 13

    有没有办法使用cin在同一行上分配多个字符串?

  14. 14

    循环在同一行上打印多个字符串

  15. 15

    循环在同一行上打印多个字符串

  16. 16

    如何读取文件同一行上的多个字符串?

  17. 17

    sed提取2个字符串之间的一行上的所有匹配项

  18. 18

    Python字符串文字-字符串中包括单引号和双引号

  19. 19

    匹配多个字符串并打印两个字符串是否在同一行 - awk

  20. 20

    将字符串双引号转换为单引号

  21. 21

    获取单引号或双引号之间的字符串

  22. 22

    如何从字符串中删除单引号或双引号?

  23. 23

    从同时包含单引号和双引号的字符创建字符串?

  24. 24

    如何使用正则表达式匹配单引号或双引号中的字符串

  25. 25

    在缺少双引号的地方包含一个字符串

  26. 26

    在双引号之间提取一个字符串

  27. 27

    如何grep双引号后跟一个字符串?

  28. 28

    正则表达式:给定一个字符串,找到双引号中的子字符串和不在双引号中的子字符串

  29. 29

    preg_match一个带有单引号或双引号的php字符串,转义于其中

热门标签

归档