Python正则表达式捕获各种url模式组

2024-03-28

我有包含这样的字符串的数据集,我想从中删除所有网址

http://google.com having trouble finding regex https://google.com for this case http // google com / test some gibberish https // google . com / test / test1 great http.//google.org

现在,我使用这个正则表达式模式来查找所有网址:

https?:?\s?\/\/\s?\S+

现在,理想情况下,它应该捕获所有 url,例如在本例中,

  • http://google.com

  • https://google.com

  • http // google com / test

  • https // google . com / test / test1

  • http.//google.org

但使用我的正则表达式模式,它仅捕获

  • http://google.com

  • https://google.com

  • http // google

  • https // google

Link to .


您可以使用

https?[:.]?\s?\/\/(?:\s*[^\/\s.]+)+(?:\s*\.\s*[^\/\s.]+)*(?:\s*\/\s*[^\/\s]+)*

See the 正则表达式演示 https://regex101.com/r/syMCD7/3.

Details

  • https? - http or https
  • [:.]?- 可选的: or .
  • \s?- 可选的空白 -\/\/ - //字符序列
  • (?:\s*[^\/\s.]+)+ - (to match all domain name parts till the last . before TLD) 1 or more occurrences of
    • \s*- 0个或多个空格
    • [^\/\s.]+- 1 个或多个字符以外的字符/, .和空白
  • (?:\s*\.\s*[^\/\s.]+)* - 0 or more sequences of
    • \s*\.\s*- 一个由 0+ 个空格包围的点
    • [^\/\s.]+- 1 个或多个字符以外的字符/, .和空白
  • (?:\s*\/\s*[^\/\s]+)* - 0 or more sequences of
    • \s*\/\s* - a /包含 0+ 个空格
    • [^\/\s]+- 1 个或多个字符以外的字符/和空白
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python正则表达式捕获各种url模式组 的相关文章

  • 无法在 python 中导入名称 GoogleMaps

    我使用下面的代码来获取地址的纬度和经度 from googlemaps import GoogleMaps gmaps GoogleMaps api key address Constitution Ave NW 10th St NW Wa
  • 如果列表中的某个字符位于该字符之前,请选择该字符

    我有这个正则表达式 a z s gmi 该正则表达式选择 从我的文字中 sme a eliezovce 2015 Spolo ne pre Eur pu Osl vili aj 940 但我只想选择 没有 如果列表中的某些字符 a z 之前
  • Spark问题中读取大文件 - python

    我已经使用 python 在本地安装了 Spark 并在运行以下代码时 data sc textFile C Users xxxx Desktop train csv data first 我收到以下错误 Py4JJavaError Tra
  • 通过 SSH 的 Pygame 不注册击键(Raspberry Pi 3)

    所以我得到了 raspi 3 和简单的 8x8 LED 矩阵 在玩了一些之后 我决定用 pygame 的事件制作一个简单的蛇游戏 显示在该矩阵上 我之前没有 pygame 的经验 除了 LED 矩阵之外 没有连接任何屏幕 显示器 所以最初的
  • Python:按条件绘制多个正/负条形图

    这是我第一次用 python 绘制条形图 我的 df 操作 key descript score 0 noodles taste 5 1 noodles color 2 2 noodles health 3 3 apple color 7
  • QTextEdit.find() 在 Python 中不起作用

    演示问题的简单代码 usr bin env python import sys from PyQt4 QtCore import QObject SIGNAL from PyQt4 QtGui import QApplication QTe
  • Twython - 如何使用媒体 url 更新状态

    在我的应用程序中 我允许用户在 Twitter 上发帖 现在我想让他们通过媒体更新他们的状态 In twython py我看到一个方法update status with media从文件系统读取图像并上传到 Twitter 我的图像不在文
  • jQuery自动完成插件-自定义突出显示功能

    我的每个项目的自动完成结果如下所示 h3 Celebrity Sweepstakes h3 p 0 episodes p 但我只想突出显示 H3 内的标题 请参阅下面的 突出显示 功能 我不知道如何更改原始正则表达式以仅替换标题内的内容 s
  • 在 Python 中进行模糊键查找的最佳方法?

    我遇到一个问题 我需要在哈希映射中进行模糊查找 即返回与最接近查询的键相对应的值 在我的例子中是通过 Levenshtein 距离测量的 我目前的方法是子类化dict使用特殊的查找方法计算所有键的编辑距离 然后返回得分最低的键的值 基本上是
  • 仅获取图像中的外部轮廓

    我有这段代码 可以在图像中绘制轮廓 但我只需要外部轮廓 import cv2 import numpy as np camino C Users Usuario Documents Deteccion de Objetos 123 jpg
  • 为什么类型提示“float”接受“int”,而它甚至不是子类?

    一方面 我了解到数字可以int or float应将类型注释为float 来源 PEP 484 类型提示 https www python org dev peps pep 0484 the numeric tower and 这个计算器问
  • Python range() 和 zip() 对象类型

    我了解功能如何range and zip 可以在 for 循环中使用 然而我期望range 输出一个列表 很像seq在 Unix shell 中 如果我运行以下代码 a range 10 print a 输出是range 10 表明它不是一
  • 字边界正则表达式问题

    我在使用单词边界时遇到问题 b在我的正则表达式中 我正在使用 R 但当我尝试时问题也存在http regexr com http regexr com 我使用的模式是 bs l b 虽然我预计下面的第 1 行和第 3 行能够匹配此模式 但只
  • 加载 IPython 笔记本时出错

    一旦我用 Jupyter 打开笔记本文件 它要求我转换文件 我就再也无法在标准 IPython 笔记本中打开它了 我收到以下错误 Error loading notebook Bad Request 2014 12 21 04 13 03
  • Unpivot Pandas 数据

    我目前有一个DataFrame布置为 Jan Feb Mar Apr 2001 1 12 12 19 2002 9 2003 我想将数据 逆透视 使其看起来像 Date Value Jan 2001 1 Feb 2001 1 Mar 200
  • Python Pandas DateOffset 使用另一列中的值

    我以为这会很容易 但下面的内容并不适合我想要的 只是尝试通过使用另一列中的值将天数添加到预先存在的日期时间列来计算新的日期列 我下面的 偏移 列只有 1 位数字 df new date df orig date apply lambda x
  • 使用 MinGW 链接到 Python

    我不想创建一个嵌入Python解释器的跨平台程序 并用MinGW编译它 但是 Python 二进制发行版没有提供 MinGW 链接的库 仅python32 lib对于 Visual C 并且 Python 源包不提供使用 MinGW 编译的
  • 用于检查字符串是否至少包含 3 个字母数字字符的最有效的正则表达式

    我有这个正则表达式 a zA Z0 9 3 我用它来查看字符串中是否至少包含 3 个字母数字字符 似乎有效 它应该匹配的字符串示例 a3c 0 c 8 9 9d 但是 我需要它更快地工作 有没有更好的方法使用正则表达式来匹配相同的模式 编辑
  • 类型提示:解决循环依赖

    以下产生NameError name Client is not defined 我该如何解决 class Server def register client self client Client pass class Client de
  • 为什么 Python ggplot 返回名称“aes”未定义?

    当我使用以下命令时 p ggplot aes x DTM y TMP1 data data 我收到以下错误 NameError name aes is not defined 你可以帮帮我吗 你需要导入aes from ggplot imp

随机推荐