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;