在Perl中使用正则表达式,如何找到任何字母的第一个出现?

时间:2011-05-08 03:59:22

标签: regex perl

我很难过;到目前为止,我已经尝试了一些东西,但我想要提取的是Perl字符串中的第一个字母。

我有例如:

10emV

我想使用正则表达式来提取第一个字母,在本例中为e

3 个答案:

答案 0 :(得分:6)

您只需搜索\p{L}[a-zA-z]的ASCII字母即可。第一场比赛是第一个字母。

如果您想匹配字符串的开头(由于某种原因),您还可以使用\A\P{L}*\p{L}\A[^a-zA-z]*[a-zA-z]

另请参阅:Perl regular expressions tutorial - More on characters, strings, and character classes

答案 1 :(得分:0)

if ( $string =~ m/([[:alpha:]])/ ) {
    print $1, $/;
}

答案 2 :(得分:-1)

my $let = $1 if '10emV' =~ m/([a-z]+?)/g;
print $let;