我是Perl中的新手。我只想問如何使用正則表達式排除搜索列表中不必要的浮點數。如何從一行字符串中的浮點數匹配中排除不必要的浮點數
我有腳本的這個樣品部分:
#!/usr/bin/perl
use strict;
use warnings;
my $teststring = "delay PADI_DEL,del:0.352, 0.352, 0.376, 0.376 PIO PAD PADDI (PADDI:PADDI IOBUF:::IO_TYPE=SUBLVDS,BANK_VCCIO=2.5); pio_INR_drt";
$teststring =~ s/[^\d.\s]//g;
print "$teststring\n";
我希望像這樣的輸出:
0.352 0.352 0.376 0.376
的提取是正確的,但我得到的最後一個浮點數我追捧不必要的數。使用我的代碼的實際輸出是這樣的:
0.352 0.352 0.376 0.376 2.5
我將如何修改我的正則表達式,這樣它將無法檢測到「2.5」不必要的浮點數。
感謝您的幫助。
哪裏是'2.5'來自哪裏?你的字符串在它的末尾有'3.3'。 – Barmar
2.5來自$ teststring的後期部分 ... IO_TYPE = SUBLVDS,BANK_VCCIO = 2.5 .... –
當我寫了我的評論時,'$ teststring'的後面部分是'BANK_VCCIO = 3.3'。 @ikegami編輯了這個問題來糾正這個問題。 – Barmar