如何在 Perl 中获取字符串中最后一位数字的索引?

MJu*_*ing 1 perl

在 Perl 中,如何找到字符串中最后一位数字的索引?

示例:Hello123xyz最后一位数字的索引是7

Sha*_*awn 5

用于匹配字符串中最后一位数字的 RE 和用于获取匹配开始索引的@-变量:

#!/usr/bin/env perl
use warnings;
use strict;
use feature qw/say/;

sub last_digit_index($) {
    if ($_[0] =~ /\d\D*\z/) {
        return $-[0];
    } else {
        return -1;
    }
}

say last_digit_index("Hello123xyz"); # 7
Run Code Online (Sandbox Code Playgroud)

  • 另请参阅[为什么 Perl 5 的函数原型不好?](/sf/ask/20792411/) (2认同)