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

-1 regex perl pcre regex-lookarounds

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

|N/A|text123|text1235|Medium|1|Medium|test123|test456|test|test|test|http|tcp|
Run Code Online (Sandbox Code Playgroud)

ste*_*ieb 5

这看起来像分裂的工作:

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

print "$_\n" for @items;
Run Code Online (Sandbox Code Playgroud)

输出:

N/A
text123
text1235
Medium
1
Medium
test123
test456
test
test
test
http
tcp
Run Code Online (Sandbox Code Playgroud)

至于正则表达式,这应该工作:

my @items = /[^|]+/g;
Run Code Online (Sandbox Code Playgroud)

  • `我的@items = split /\| /,$ string; shift(@items);`或`我的@items = split /\| /,substr($ string,1);`需要`来计算前导```. (2认同)