仅查找有效 url + 文本 python 的正则表达式
Regex to find valid url + text python only
我有一个正则表达式
((http\://|https\://|ftp\://)|(www.)|([a-zA-Z0-9\.-]))+(([a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}))(/[a-zA-Z0-9%:/-_\?\.'~#-]*)?
完美地选择了有效 url。
我有一个场景可以
- 有效 URL + TEXT 或(www.abc.com 测试正则表达式)
- 文本 + 有效 URL(测试正则表达式 www.abc.com)
需求:
我想要的是首先正则表达式检查有效 url 然后如果 url 有效它忽略有效 url 并且只在有效 URL 之外搜索 TEXT .
问题:
我尝试了很多正则表达式,但它正在选择有效的 url,我也不想要我只想要如果 url 是有效的搜索 url 之外的文本.
没有功能请。我正在尝试使用 Regex 解决此问题。
也许你想要这个:
(.*?)((?:(?:http\:\/\/|https\:\/\/|ftp\:\/\/)|(?:www.)|(?:[a-zA-Z0-9\.-]))+(?:(?:[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}))(?:\/[a-zA-Z0-9%:\/-_\?\.'~#-]*)?)(.*)
请在此处查看 demo:
你会得到三个组,你可以使用命名组来捕获beforeUrl
文本,Url
和afterUrl
文本,这将是这样的:
(?<beforeUrl>.*?)(?<Url>(?:(?:http\:\/\/|https\:\/\/|ftp\:\/\/)|(?:www.)|(?:[a-zA-Z0-9\.-]))+(?:(?:[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}))(?:\/[a-zA-Z0-9%:\/-_\?\.'~#-]*)?)(?<afterUrl>.*)
请参阅此处 demo。
我有一个正则表达式
((http\://|https\://|ftp\://)|(www.)|([a-zA-Z0-9\.-]))+(([a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}))(/[a-zA-Z0-9%:/-_\?\.'~#-]*)?
完美地选择了有效 url。
我有一个场景可以
- 有效 URL + TEXT 或(www.abc.com 测试正则表达式)
- 文本 + 有效 URL(测试正则表达式 www.abc.com)
需求:
我想要的是首先正则表达式检查有效 url 然后如果 url 有效它忽略有效 url 并且只在有效 URL 之外搜索 TEXT .
问题:
我尝试了很多正则表达式,但它正在选择有效的 url,我也不想要我只想要如果 url 是有效的搜索 url 之外的文本.
没有功能请。我正在尝试使用 Regex 解决此问题。
也许你想要这个:
(.*?)((?:(?:http\:\/\/|https\:\/\/|ftp\:\/\/)|(?:www.)|(?:[a-zA-Z0-9\.-]))+(?:(?:[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}))(?:\/[a-zA-Z0-9%:\/-_\?\.'~#-]*)?)(.*)
请在此处查看 demo:
你会得到三个组,你可以使用命名组来捕获beforeUrl
文本,Url
和afterUrl
文本,这将是这样的:
(?<beforeUrl>.*?)(?<Url>(?:(?:http\:\/\/|https\:\/\/|ftp\:\/\/)|(?:www.)|(?:[a-zA-Z0-9\.-]))+(?:(?:[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}))(?:\/[a-zA-Z0-9%:\/-_\?\.'~#-]*)?)(?<afterUrl>.*)
请参阅此处 demo。