Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 查找单引号和双引号字符串,并定义在Perl中找到的字符串_Regex_Perl - Fatal编程技术网

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

Regex 查找单引号和双引号字符串,并定义在Perl中找到的字符串,regex,perl,Regex,Perl,我有这样的文本文件(它有许多行) 我需要将行拆分为字符串(包含在单引号或双引号内的所有内容) 输出应如下所示: "double quote" 'single quote' 'single' "double" 我使用下面的正则表达式,它工作得非常好 my @line_array = $string =~ /["']+(.*?)["']+/g; 但结果是: double quote single quote single double 我只是无法确定找到了什么样的报价,以及如何按其

我有这样的文本文件(它有许多行)

我需要将行拆分为字符串(包含在单引号或双引号内的所有内容) 输出应如下所示:

"double quote" 
'single quote' 
'single' 
"double" 
我使用下面的正则表达式,它工作得非常好

my @line_array = $string =~ /["']+(.*?)["']+/g;
但结果是:

double quote
single quote
single 
double 
我只是无法确定找到了什么样的报价,以及如何按其他顺序打印它们。让我发疯


非常感谢

只需更改括号即可捕获引号。因此:

my @line_array = $string =~ /(["']+.*?["']+)/g;

这是一个插入错误的例子。您尚未捕获引号。知道如何修复它吗?您的引号字符串是否可以包含换行符?如果是这样的话,您需要做不同的事情。@Max\S您知道如何在Perl正则表达式中捕获组吗?如果是这样,你可以很快解决这个难题!这篇文章可能与昨天的重复:
my @line_array = $string =~ /(["']+.*?["']+)/g;