分裂后存储令牌

时间:2015-08-06 00:43:00

标签: perl split token

我有以下Perl语句,它通过分隔符|,\或/

分割字符串
@example = split(/[\|\\\/]/,$i);

分割后如何存储令牌?

例如输入:

  

约翰|玛丽/马修

我得到的是:

  

(约翰,玛丽,马修)

我想要的是什么:

  

(John,|,Mary,/,Matthew)

1 个答案:

答案 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