在特定模式之后获取子串,拆分或后面看?

时间:2013-07-11 00:02:25

标签: perl

如何获取SP^之后的日期:

89564;02/03/2005;;MT;M^08/17/75^F^12/28/2004^SP^07/22/57
89565;02/03/2005;DUO;MG;M^07/24/50^F^05/11/82^F^03/01/92^F^04/20/1986^SP^09/03/51

不确定我是否可以使用lookbehind因为我不想要分隔符,只需要日期。我可以拆分并明确SP^之后的日期吗?

SP^位于数据集中的不同位置,并不总是最后一个子字符串。

1 个答案:

答案 0 :(得分:1)

这对你的例子来说已经足够了:

print "$1\n" if $s =~ /SP\^(.*)$/;

但是如果你想具体说明日期格式:

print "$1\n" if $s =~ m!SP\^(\d\d/\d\d/\d\d)!;