您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

用Python re.match提取字符串

用Python re.match提取字符串

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)
python 2022/1/1 18:31:51 有195人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶