我正在尝试分割网址,以获得域名。你知道吗
example.com => example.com
example.com/dir/index.html => example.com
我正在尝试的正则表达式是
(.+?)(/|$)
当我在python中这样使用它时:
import re
m = re.search('(.+?)(/|$)', url)
它适用于第一个例子,但是对于第二个例子,我总是得到example.com/
。我怎么去掉反斜杠?你知道吗
编辑:我很抱歉,我忘了包括一个重要的信息。我需要一个正则表达式,因为我需要用oraclesql来编写它。幸运的是,Oracle支持regex,但与urlparse
不同。我只是在用python进行测试。很抱歉!你知道吗
最简单的方法是使用stdlib中的^{} 函数:
除了简单得多之外,它还以一种定义明确、文档清晰的方式处理您没有想到的情况(例如,如果有一个端口和一个主机呢?),而对于您的代码,谁知道您没有预料到的情况会发生什么呢?你知道吗
如果确实要将URL视为字符串而不是URL,则按斜杠拆分的简单方法是按斜杠拆分:
如果您真的想使用regexp在斜杠上拆分,您可以使用
re.split
而不是试图找出一种方法来欺骗re.search
来拆分:最后,如果您想用
match
或search
来完成,并且您不想捕获/
,请不要将/
放在捕获组中,查看您特意捕获的组,而不是整个字符串:尝试匹配非向前斜杠,如
([^/]+?)(/|$)
相关问题 更多 >
编程相关推荐