我有兩個關於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