我有以下Perl语句,它通过分隔符|,\或/
分割字符串@example = split(/[\|\\\/]/,$i);
分割后如何存储令牌?
例如输入:
约翰|玛丽/马修
我得到的是:
(约翰,玛丽,马修)
我想要的是什么:
(John,|,Mary,/,Matthew)
答案 0 :(得分:10)
在正则表达式中放置一个捕获组以保存分隔符:
my $str = 'John|Mary/Matthew';
my @example = split /([\|\\\/])/, $str;
use Data::Dump;
dd @example;
输出:
("John", "|", "Mary", "/", "Matthew")
这在以下段落中有记载:http://perldoc.perl.org/functions/split.html