Regex 正则表达式获取url字符串
我正在尝试在[link=和]之间获取youtube url 使用此代码。为什么不起作用 代码Regex 正则表达式获取url字符串,regex,preg-match,Regex,Preg Match,我正在尝试在[link=和]之间获取youtube url 使用此代码。为什么不起作用 代码 (?<=[link=\s).*(?=\s]) 我需要得到http://www.youtube.com/watch?feature=player_embedded&v=Fh3knetKm5U简单地说: \[link=(.*?)\] 你使用lookbehinds有什么原因吗 更重要的是,看起来您正计划实现文本格式。您是否考虑过像或那样使用库 使用上述正则表达式的示例: >>> i
(?<=[link=\s).*(?=\s])
我需要得到http://www.youtube.com/watch?feature=player_embedded&v=Fh3knetKm5U
简单地说:
\[link=(.*?)\]
你使用lookbehinds有什么原因吗
更重要的是,看起来您正计划实现文本格式。您是否考虑过像或那样使用库
使用上述正则表达式的示例:
>>> import re
>>> p = re.compile(r'\[link=(.*?)\]')
>>> txt = '''a very long text before this
... [link=http://www.youtube.com/watch?feature=player_embedded&v=Fh3knetKm5U]and some'''
>>> p.findall(txt)
['http://www.youtube.com/watch?feature=player_embedded&v=Fh3knetKm5U']
您不必要地使用了“向前看”和“向后看”。这些对你来说很简单
\[link=(\S+)\]
\[link=([^\]]*)\]
\[link=(.+)\]
\[link=(.*?)\]
什么不起作用?代码在哪里?(?为什么不
\[link=([^]]*)]
?不。我只是想从一篇长文本中获取url。我已经更新了我的问题
\[link=(\S+)\]
\[link=([^\]]*)\]
\[link=(.+)\]
\[link=(.*?)\]