在Perl中,如何获取特定单词之前出现的数字?

时间:2016-03-26 18:09:14

标签: string perl integer word

假设我有字符串:

my $SENTENCE = "get schwifty for 7 days"

-...我想知道天数。如果我知道它总是在日/天之前出现,我怎么能得到7号呢?

3 个答案:

答案 0 :(得分:0)

将正则表达式与捕获组一起使用:

$SENTENCE =~ /(\d+) days?/;
my $days = $1;

答案 1 :(得分:0)

使用正则表达式捕获数字

my ($day) = $sentence =~ /(\d+)Days?/g;

或者使用(?{})

将模式匹配中的单词分组的另一种方法
$Sentence =~ /(\d+)Days?(?{my $day = $1})/g:

答案 2 :(得分:0)

使用预读属性并获取您的天数

my $SENTENCE = "get schwifty for 7 days";
($num) = $SENTENCE =~m/(\d+)(?=\s+days?)/;
print $num;