gpt4 book ai didi

regex - Perl Regex 正则表达式拆分//

转载 作者:行者123 更新时间:2023-12-02 06:26:45 25 4
gpt4 key购买 nike

我浏览了 s'flow 和其他站点,以使用 perl 中的正则表达式获得简单的解决方案。

$str = q(//////);#

假设我有六个或七个斜杠,或其他字符,如 q(aaaaa)

我希望它们像 ['//','//'],

这样分开

我尝试了 @my_split = split (/\/\/,$str); 但没有成功

可以用正则表达式吗?

这个问题的原因是,假设我有这个域名:

$site_name = q(http://www.yahoo.com/blah1/blah2.txt);

我想沿着单斜杠拆分以获得“域名”,但我做不到。我试过了

split( '/'{1,1}, $sitename); #没用。我预计它会 split 成一条斜线而不是两条斜线。

谢谢。

最佳答案

这个问题不太清楚。

将字符串分解为成对的连续字符

my @pairs = $string =~ /(..)/g;

或者通过重复斜杠来分割字符串

my @parts = split /\/\//, $string;

/.../ 中的分隔符模式是一个实际的正则表达式,因此我们需要在其中转义 /

然后你说你想解析 URI?

请使用模块。例如,有 URI

use warnings;
use strict;
use feature 'say';

use URI;

my $string = q(http://www.yahoo.com/blah1/blah2.txt);
my $uri = URI->new($string);

say "Scheme: ", $uri->scheme;
say "Path: ", $uri->path;
say "Host: ", $uri->host;
# there's more, see docs

然后是URI::Split

use URI::Split qw(uri_split uri_join);

my ($scheme, $auth, $path, $query, $frag) = uri_split($uri);

您可能已经在使用的许多其他模块或框架可以很好地处理 URI。

关于regex - Perl Regex 正则表达式拆分//,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58920467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com