如何编写正则表达式来返回url中的关键字?

2024-05-15 02:33:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我们想写一个正则表达式来根据一些关键字查询url

例如,当我们输入“google”时。regular express应该可以帮助我们找到以下网址:

https://www.google.com

https://api.google.com/help

https://www.apigoogle.com/example/02.js

https://www.googleapi.com/02/example/02.js

当前我的正则表达式是,“sites”是输入值:

^http?://([a-z0-9-]+)+(“+站点+”)(com | net)/?$

它只匹配第一个,我怎么才能完成我的正则表达式。。。?你知道吗


Tags: httpscomapiurlexamplewwwgooglejs
2条回答

这对你很有用。你知道吗

^((https)\:\/\/)(([a-z0-9])+\.)*(google|apigoogle\.com)

Test

主要目的是检查关键字是否在域部分内。你知道吗

  1. ^(http\w?.{3})从两种协议开始
  2. ([^\/]*?google[^\/]*?)检查域部分是否有关键字。为避免匹配超过指定区域,未匹配\
  3. (?=\/|$)主要部分应该是文本结尾,或者后面有\

代码:

import re


regex = lambda keyword: r"^(http\w?.{3})([^\/]*?%s[^\/]*?)(?=\/|$)"%keyword

text = """
https://www.google.com

https://api.google.com/help

https://www.apigoogle.com/example/02.js

https://www.googleapi.com/02/example/02.js

https://www.abcd.com/red?=www.google.com

https://www.googleapi.com/02/example/03.js
"""

for e in text.split():
    if re.search(regex("google"),e):
        print(e)

相关问题 更多 >

    热门问题