正则表达式在多个管道中收集文本

时间:2017-01-04 14:35:52

标签: regex perl pcre regex-lookarounds

我有需要在管道之间匹配的文字。我尝试了\|[^|]+\|,但似乎没有收集每一个。

|N/A|text123|text1235|Medium|1|Medium|test123|test456|test|test|test|http|tcp|

2 个答案:

答案 0 :(得分:5)

这看起来像是split的工作:

my @items = split /\|/, $string;

print "$_\n" for @items;

输出:

N/A
text123
text1235
Medium
1
Medium
test123
test456
test
test
test
http
tcp

就正则表达式而言,这应该有效:

my @items = /[^|]+/g;

答案 1 :(得分:0)

试试这个:

    [^\|]+

即。匹配管道以外的任何东西