match尝试匹配 整个 字符串。使用
search代替。然后,以下模式将满足您的要求:
m = re.search(r"//([^/]*)", str)print m.group(1)
基本上,我们正在寻找
/,然后消耗尽可能多的非斜杠字符。那些非斜杠字符将被捕获在组号1中。
实际上,有一种更高级的技术可以执行此操作,但不需要捕获(通常很耗时)。它使用所谓的lookbehind:
m = re.search(r"(?<=//)[^/]*", str)print m.group()
在实际比赛中不包括环顾四周,因此是理想的结果。
此(或任何其他合理的正则表达式解决方案)不会
.立即删除。但这可以在第二步中轻松完成:
m = re.search(r"(?<=//)[^/]*", str)host = m.group()cleanedHost = host.replace(".", "")那甚至不需要正则表达式。
当然,如果您想删除除字母和数字之外的所有内容(例如
www.regular-expressions.info变成
wwwregularexpressionsinfo),那么最好使用regex版本的
replace:
cleanedHost = re.sub(r"[^a-zA-Z0-9]+", "", host)



