Python - 域名的正则表达式

标签 python regex url dns

我正在尝试使用以下正则表达式从文本中提取域名,但它什么也没有产生,它有什么问题吗?

我不知道这是否适合问这个“修复代码”问题,也许我应该阅读更多内容。

我只是想节省一些时间。

谢谢。

pat_url = re.compile(r'''

            (?:https?://)*

            (?:[\w]+[\-\w]+[.])*

            (?P<domain>[\w\-]*[\w.](com|net)([.](cn|jp|us))*[/]*)

            ''')

print re.findall(pat_url,"http://www.google.com/abcde")

我希望输出为 google.com

最佳答案

不要为此使用正则表达式。请改用 urlparse 标准库。它更直接、更易于阅读/维护。

http://docs.python.org/library/urlparse.html

关于Python - 域名的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2626995/

相关文章:

python - 单个 Pyramid 实例上的多个域和子域

c# - 获取某个字符串后的数字

apache - 如何从 Apache 重定向到 Tomcat?

python - 使用请求处理错误的 URL

python - 试图理解类和对象如何相互交互 - python

python - Python字典理解中的多重赋值

regex - 用 grep/sed 替换许多任意 Markdown 链接

java - 匹配 CSV 文件嵌套引号的正则表达式

java - 如何使用 java 识别 URL 对象的顶级域?

php - .htaccess wordpress wpml 对单独的页面使用相同的标题