我可以接收以下任意一种格式的字符串:
URL:例如http://www.acme.com:456
字符串:例如 www.acme.com:456、www.acme.com 456 或 www.acme.com
我想提取主机名和若存在则提取端口号。如果没有端口号,则默认为80。
我尝试使用urlparse,它对于URL格式的字符串可以正常工作,但无法处理其他格式。例如,在hostname:port上使用urlparse时,它将主机名放在协议中而非网络位置。
我希望有一个解决方案能够同时使用urlparse和正则表达式,或者只使用一个正则表达式来处理这两种格式的字符串。