Regex 如何在Perl中从具有匹配字母的行打印单词
我正在使用Perl读取文件并打印位于第5个字段中的单词。 这是我的台词: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/
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/);
}