python - 识别文本中.onion 链接的方法?

标签 python regex url tor

我如何识别文本中的 .onion 链接,记住它们可以以多种方式出现;

hfajlhfjkdsflkdsja.onion
http://hfajlhfjkdsflkdsja.onion
http://www.hfajlhfjkdsflkdsja.onion

我正在考虑正则表达式,但 (.*?.onion) 会返回 URL 链接所在的整个段落

最佳答案

这样做:(?:https?://)?(?:www)?(\S*?\.onion)\b(添加了非捕获组 - 信用: @WiktorStribiżew)

演示:

s = '''hfajlhfjkdsflkdsja.onion
https://hfajlhfjkdsflkdsja.onion
http://www.hfajlhfjkdsflkdsja.onion
https://www.google.com
https://stackoverflow.com'''


for m in re.finditer(r'(?:https?://)?(?:www)?(\S*?\.onion)\b', s, re.M | re.IGNORECASE):
    print(m.group(0))

输出

hfajlhfjkdsflkdsja.onion
https://hfajlhfjkdsflkdsja.onion
http://www.hfajlhfjkdsflkdsja.onion

关于python - 识别文本中.onion 链接的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44589000/

相关文章:

mysql - 查找 SnowFlake 中特定列中包含非 ASCII 的所有行

python - 关于 Django 在 urlpattern 中的 pk

java - 更改 Axis Web 服务 URL

python - 如何在Python中根据年份分割数据框?

python - celery 中直接调用任务组与通过 apply_async 调用任务组的区别

python 通过 telnet session 在行尾不断报告 "invalid syntax"

regex - 使用正则表达式修剪尾随空格

ruby - 使用正则表达式获取 URL 的域

javascript - Backbone - 阻止在浏览器中编辑 URL 访问

python - 如何从python连接到远程hadoop/hive(URL)?