Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何在Perl中从具有匹配字母的行打印单词_Regex_Perl_Find - Fatal编程技术网

Regex 如何在Perl中从具有匹配字母的行打印单词

Regex 如何在Perl中从具有匹配字母的行打印单词,regex,perl,find,Regex,Perl,Find,我正在使用Perl读取文件并打印位于第5个字段中的单词。 这是我的台词: MN2 x=2 y=3 z=8 highway=9 industry=cotton price=40 unit=2 我正在读这行并打印highway=9。 我的问题是,highway=9在行中的位置有时会发生变化,因此我打印了错误的数据 Perl中是否有任何简单的命令可以获取单词“highway”并打印其值,而不是根据字段号打印。使用 打开我的$fh,“perl-pE的s/*\bhighway=(\d+).*\b/$1/

我正在使用Perl读取文件并打印位于第5个字段中的单词。 这是我的台词:

MN2 x=2 y=3 z=8 highway=9 industry=cotton price=40 unit=2
我正在读这行并打印
highway=9
。 我的问题是,
highway=9
在行中的位置有时会发生变化,因此我打印了错误的数据

Perl中是否有任何简单的命令可以获取单词“highway”并打印其值,而不是根据字段号打印。

使用


打开我的$fh,“
perl-pE的s/*\bhighway=(\d+).*\b/$1/'

我不知道替换在这里有什么用。?你能把你写的代码贴出来吗?非常感谢。它就像我所期望的那样工作。有时我的数据格式是高速=2.8e+10,有时只有28…有没有办法让它独立于格式?
open my $fh, "<", "file.txt" or die "$! error opening ";
while (<$fh>)
{
    print $1 if( m/\b(highway=[^\s]+)\b/);
}