首页 > 解决方案 > 正则表达式从字符串中提取一些特定的数字,尝试了几种方法

问题描述

我需要从变量中的字符串中提取一个特定的数字;例如,$ex有类似的 URL "https://www.google.com&r=12345&s=1&t=2",我只需要提取12345。我尝试了这三个正则表达式,但它不起作用。

  1. 这一回=12345=1=2

    $example = $1 if( $ex=~ s/[^=\d]//g);
    
  2. 这个返回null。

    $example = $1 if($ex=~ m/r\=([\d+])\&/i);
    
  3. 这个返回null。

    $example = $1 if($ex=~ m/r\^=([\d+])\&/i)
    

标签: regexstringperlextract

解决方案


use URI             qw( );
use URI::QueryParam qw( );

$url = URI->new($url);
my $example = $url->query_param('r');  # Get first `r` arguments.
my @example = $url->query_param('r');  # Get all `r` arguments.

推荐阅读