我使用正则表达式的下列线这是我从this SO answer发现:为什么这行正则表达式捕获空白?
(:[\ W [AZ] - ] +:(?:?/ {1,3} | [A-Z0 -9%])| WWW \ d {0,3} [] | [A-Z0-9 .-] + [??] [AZ] {2,4} /)(:。?[^ \ S ()<>] + |(([^ \ s()<>] + |(([^ \ s()<>] +)))))+(? <>] + |(([^ \ s()<>] +))))| [^ \ s`!()[] {} ;:'“。,<>?«»”“'' ])
我在以下字符串上测试它:
“Quattro Amici将于2014年3月3日举行音乐会。长期合作者Lun Jiang,小提琴;罗伯塔Zalkind,中提琴; Pegsoon Whang,大提琴;和钢琴家Karlyn Bond将演奏弗兰茨约瑟夫海顿,沃尔夫冈阿马多伊斯莫扎特,路德维希范贝多芬和加布里埃尔福雷的作品。要购买门票,请访问westminstercollege.edu/culturalevents或致电801-832-2457。 - 多见于:http://entertainment.sltrib.com/events/view/quattro_amici_in_concert#sthash.QRsLXXiA.dpuf“
我只是试图提取字符串URL和基于一堆SO答案,我发现正则表达式是该作业的推荐工具,我不一个正则表达式的专家(或者我的理解中的中间),所以我对re.findall()一直返回的空字符串感到困惑,我已经使用正则表达式队列中的正则表达式行,并且仍然没有运气。非常感激
长度超过40-80个字符的正则表达式是[垃圾表达式](http: //blog.codinghorror.com/regular-expressions-now-you-have-two-problems/)(根据我和其他人的说法)。 –