我正在尝试在perl中编写一个与此行匹配的正则表达式
<sqlpurchSBC comn 23 8313364.B9230352.329 11200.00 SOLD>
到目前为止我的表达是这样的,但它似乎与我的字符串匹配
m|sqlpurchSBC.*(\d+).(\d+).*(\d+).(\d+).(\d+) SOLD|
我基本上试图提取值23以及值11200.00。虽然两位小数不算数。我需要帮助的人。感谢
答案 0 :(得分:3)
我认为拨打use strict;
use warnings 'all';
use feature 'say';
my $s = '<sqlpurchSBC comn 23 8313364.B9230352.329 11200.00 SOLD>';
my @pair;
@pair = ( split ' ', $s )[2,4] if $s =~ /<sqlpurchSBC.+SOLD>/;
say "@pair";
会更好
23 11200.00
{{1}}
答案 1 :(得分:1)
试试这个:
m|<sqlpurchSBC.*?(\d+)\s+[\.\w]+\s+(\d+)\.?.*|
|
tell .* to be non greedy