perl用if来匹配提取文本内容

Registrant Email ................ zhang4jianxi3u@tiantian.com;

需要提取后面的邮箱

我的意思是当匹配到Registrant Email 时输出后面的邮箱,

就像=~ /(Registrant Email)(.*)(.*)/这样打印$3

文本有很多行,中间的点个数和后面的邮箱是变动的,求输出邮箱perl脚本,用if么?

第1个回答  2013-10-22

也可以不用if,直接正则替换

    my $email= s/^Registrant Email\.+(.*)/$1/;
点号要转义的

追问

谢谢!

第2个回答  推荐于2016-06-02
$s1="Registrant Email ................zhang4jianxi3u\@tiantian.com";
if ($s1=~/Registrant Email (\.+)\s*(.*)/) {print "$2\n";}

本回答被提问者采纳
第3个回答  2013-10-22
my $email = $1 if /^Registrant Email.*(\S+)$/;

perl用if来匹配提取文本内容
s1="Registrant Email ...zhang4jianxi3u\\@tiantian.com";if ($s1=~\/Registrant Email (\\.+)\\s*(.*)\/) {print "$2\\n";}

求助批处理高手,从一堆文本文件中查找特定字符,并输出所在文本的文件...
用perl很方便:!\/usr\/bin\/perl -w use strict;use feature('say');use File::Find;use FileHandle;find(\\&wanted,$ARGV[0]||".");sub wanted{ if( -f $_ and \/\\.txt$\/i){ my $fh=FileHandle->new($_,"r");while ( my $line=$fh->getline ) { if ( $line=~\/荣华富贵\/...

perl提取特定文本行的下一行如何实现?
$outfile)=@ARGV; #通过@ARGV传递给变量,以便于下面执行句柄操作open my $in,'<',$infile or die; open my $out,'>',$outfile or die; while(<$in>) { next if(\/^xxxxxxx$\/)#跳过匹配到的特定内容 print $out "$_"; #输出即可}close $in;close...

perl语言中if($_=~\/^@\/)这句话是什么意思
perl语言中if($_=~\/^@\/)这句话是什么意思 首先 , $_ 是 perl 中一个来自回圈的预设变数, 如 : @array = ( 1,2,3,4,5 ); for ( @array ) { print $_ } # 这时就会打印出 12345 然后到 =~ , 就像 $x == $y ( 对比数字 ) , $a eq $b ( 对比文字 ) 而 =...

perl如何抽取文本每行字串中指定的字串?
!\/usr\/bin\/env perl my $file="demo.txt";open(FL,"$file") or die "open $file err!";while(<FL>){ chomp;if(\/C(.*?)F\/){ print "$1\\n";} } close(FL);执行:perl test.pl 2.0150 .2500 .3 .5000 1.0000 2.0000 ...

perl 文本,如何快速抽取,一个数字
open F,"F:\/1.txt"; #1.txt是要提取的文本 array=<F>;foreach(@array){ \/r200\\s+(7|0)\\.\\d+.\\s(\\d+)\\.\\d+\/;print "$2\\n";} 上面的只负责提取275,如果你要显示完整行,就用下面这个 open F,"F:\/1.txt";array=<F>;foreach(@array){ \/r200\\s+(7|0)\\.\\d+.\\s(...

perl脚本如何实现从多行中抽取所需要的多行
open SOURCE,"<result.txt"; open DESTINATION,">output.txt"; my $startflag = 0; #初始化起始标志startflagwhile(<SOURCE>){ if(\/^\\s*config user local\\s*$\/) #找到起始点,第一个config user local, 设置起始标志startflag { $startflag = 1; print DESTINATION $_; }...

perl 语言 txt 文件 按条件 找数据 输出
open F,"F:\/1.txt"; #是你画面上的文件while ($line=<F>) {($s1,$s2,$s3,$s4,$s5,$s6)=split(\/\\s+\/,$line);push (@new, $s3);$count{$_}++ for @new;if ($s1==100 and $s2>24 and $count{$s3}>5) {print "$s1,$s2,$s3,$s4,$s5,$s6\\n";} } ...

怎么用perl 提取文本中的数字
!\/usr\/bin\/perl use strict;use Data::Dumper;my $str = "RLTmr1 I001CACTCAGAGTACACCCCCAGGAGCCGCGGAGAGCTGCGGGACGGTACCTACACGCCGCAC E012CAACCTTGAAAGTGACGGTATCTACATCATCAACCTGAAGAGGACTTGGGAGAAGCTGTTGTTAGCC I001 300 TATACCGACGGAAGAGACACG 320 605 E012 30 TCTACAAAAGGAAAAGTGACG 50 100...

perl取文本中一部分数据。
while ( <FILE> ) { next unless $_ =~ \/^Administrative Contact\/;my $end = undef;while ( ! $end ) { my $line = <FILE> ;end = 1 if $line =~ \/^Technical Contact\/;print $line unless $end } }

相似回答