我有两个关于Regexp::Common qw/URI /和Perl正则表达式的问题。在Perl中,如何正确提取括在括号中的URL?
我使用Regexp::Common qw/URI/
来解析字符串中的URI并删除它们。但是,当URI位于括号之间时,我遇到了一个错误。
例如:(http://www.example.com)
该错误是由引起“)”,并且当它尝试解析URI,应用程序崩溃。所以,我想两个定位:
- 做一个简单的(或我是这么认为的)写入括号和
)
字符 - 的
Regexp::Common qw/URI/
具有实现修复功能之间的空白。
在我的代码中,我试图实现正则表达式,但应用程序冻结。我已经试过的代码是这样的:
use strict;
use Regexp::Common qw/URI/;
my $str = "Hello!!, I love (http://www.example.com)";
while ($str =~ m/\)/){
$str =~ s/\)/ \)/;
}
my ($uri) = $str =~ /$RE{URI}{-keep}/;
print "$uri\n";
print $str;
,我想输出是:(http://www.example.com)
我不知道,但我认为这个问题是在$str =~ s/\)/ \)/;
BTW,我有一个关于Regexp :: Common qw/URI /的问题。我有两个字符串类型:
- ablalbalblalblalbal
http://www.example.com
- asfasdfasdf
http://www.example.com
aasdfasdfasdf
我想删除的URI,如果它是最后一个组件(和保存)。如果没有,则保存它而不将其从文本中移除。
您应该阅读关于如何格式化您的帖子的提示。您无需输入实时链接即可在自己的帖子中添加一堆网址。而且,不需要在代码中插入`
`。 – 2010-12-09 13:59:01