我浏览了s'flow和其他站点,以在Perl中使用regex进行简单的解决方案。
$str = q(//////);#
Run Code Online (Sandbox Code Playgroud)
假设我有六个斜线或七个斜线,或其他字符,例如q(aaaaa)
我希望他们能像分割['//','//'],
我试过了@my_split = split ( /\/\/,$str);但是没用
正则表达式可能吗?
出现此问题的原因是,说我拥有此域名:
$site_name = q(http://www.yahoo.com/blah1/blah2.txt);
我想使用单斜杠拆分以获取“域名”,但我做不到。我试过了
split( '/'{1,1}, $sitename);#没有工作。我期望它在一个斜杠上比两个斜杠分开。
谢谢。
这个问题还不清楚。
将字符串分成成对的连续字符
my @pairs = $string =~ /(..)/g;
Run Code Online (Sandbox Code Playgroud)
或通过重复斜杠来分割字符串
my @parts = split /\/\//, $string;
Run Code Online (Sandbox Code Playgroud)
中的分隔符模式/.../是实际的正则表达式,因此我们需要/在其中进行转义。
但是然后您说您想解析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
Run Code Online (Sandbox Code Playgroud)
然后是URI :: Split
use URI::Split qw(uri_split uri_join);
my ($scheme, $auth, $path, $query, $frag) = uri_split($uri);
Run Code Online (Sandbox Code Playgroud)
您可能已经在使用的许多其他模块或框架可以很好地处理URI。
| 归档时间: |
|
| 查看次数: |
110 次 |
| 最近记录: |