我想从字符串中删除尾随和前导单引号,但如果引号从字符串中间开始,则不会。
示例:我想'text is single quoted'
从text is 'partly single quoted'
. 示例 2:在abc 'foo bar' another' baz
中,不应删除引号,因为缺少字符串开头的引号。
这是我的代码:
use strict;
use warnings;
my @names = ("'text is single quoted'", "text is 'partly single quoted'");
map {$_=~ s/^'|'$//g} @names;
print $names[0] . "\n" . $names[1] . "\n";
|
正则表达式中的 or ( )^'|'$
显然也从第二个字符串中删除了第二个引号,这是不希望的。我认为^''$
这意味着它仅在第一个和最后一个字符是单引号时才匹配,但这不会删除任何单引号或字符串。