Regex 字符应在搜索字符串之前出现几次
假设我有这部分数据:Regex 字符应在搜索字符串之前出现几次,regex,perl,Regex,Perl,假设我有这部分数据: asdsad;adafds;asfdafas;frewf;gggf 121132;sadf12;124fd;1243fd;dfgfew 。。。字符串分隔符是 我怎样才能得到每行的第四部分?例如,;[这] 这不起作用:;{3} (\w+) 我需要正则表达式,因为我想在Schartzian变换中使用它 您可以使用以下正则表达式: ([^;]+;){3}([^;]+) 第二个捕获的组(\2或$2)将包含您想要的内容: 例如:(\2/$2)上面的问题将包含frewf和1243fd
asdsad;adafds;asfdafas;frewf;gggf
121132;sadf12;124fd;1243fd;dfgfew
。。。字符串分隔符是代码>
我怎样才能得到每行的第四部分?例如,;[这]代码>
这不起作用:;{3} (\w+)
我需要正则表达式,因为我想在Schartzian变换中使用它
您可以使用以下正则表达式:
([^;]+;){3}([^;]+)
第二个捕获的组(\2
或$2
)将包含您想要的内容:
例如:(\2
/$2
)上面的问题将包含frewf
和1243fd
)
演示:是的,这会起作用,但我需要正则表达式,因为我想在map语句中使用它。没有任何东西可以阻止您在地图
中使用拆分
<代码>我的@fourths=map{(split';',$_)[3]}@array代码>即使在schwartian Transform中,它也能工作,而且我认为它比regex快,谢谢
use strict;
use warnings;
while (<DATA>) {
chomp;
my $fourth = (split ';', $_)[3];
print "$fourth\n";
}
__DATA__
asdsad;adafds;asfdafas;frewf;gggf
121132;sadf12;124fd;1243fd;dfgfew
frewf
1243fd