Regex 如何在两个不同字符串之间提取数字
我是Perl新手,我需要在两个不同字符串之间提取一个数字 我有一个字符串变量:Regex 如何在两个不同字符串之间提取数字,regex,perl,Regex,Perl,我是Perl新手,我需要在两个不同字符串之间提取一个数字 我有一个字符串变量: my $var = "1234 23.3\" 如何提取空白和点之间的数字?在本例中,输出应为23 上述var字符串可能不同,因此有时可能是123 4.32或123 334.4\,其中输出应分别为4或334。可以使用\s反斜杠序列匹配空白,请参阅: \s匹配任何被视为空白的单个字符 同样,可以使用\d匹配数字: \d匹配被认为是十进制数字的单个字符 要匹配句点或圆点,请注意圆点是一个正则表达式元字符,它将匹配任何字符
my $var = "1234 23.3\"
如何提取空白
和点
之间的数字?在本例中,输出应为23
上述var字符串可能不同,因此有时可能是
123 4.32
或123 334.4\
,其中输出应分别为4或334。可以使用\s
反斜杠序列匹配空白,请参阅:
\s
匹配任何被视为空白的单个字符
同样,可以使用\d
匹配数字:
\d
匹配被认为是十进制数字的单个字符
要匹配句点或圆点,请注意圆点是一个正则表达式元字符,它将匹配任何字符(换行符除外),请参见和,因此要显式匹配圆点,应将其转义
因此,给定$var=“1234 23.3”
,以下语句:
$var =~ /\s+(\d+)\./;
应将空格后和点前的数字提取到捕获组变量
$1
中。有关+
元字符的更多信息,以及有关捕获组的信息,请参阅。perl-E'$var=“1234 23.3”$var=~/\s+(\d+)\。/;说$1'
你试过什么吗?@HåkonHægland-谢谢你,伙计,这帮了我的忙。请继续回答,我会批准的。对于其他人,感谢大家对这个简单问题的否定。当我问一些更复杂的问题时,通常没有人回答。