gpt4 book ai didi

python - 用于提取域和子域的正则表达式

转载 作者:行者123 更新时间:2023-12-01 00:57:10 28 4
gpt4 key购买 nike

我正在尝试将一堆网站剥离到它们的域名,即:

https://www.facebook.org/hello 

成为facebook.org

我正在使用正则表达式模式查找器:

(https?:\/\/)?([wW]{3}\.)?([\w]*.\w*)([\/\w]*)

这适用于大多数情况,但偶尔会出现以下网站:

http://www.xxxx.wordpress.com/hello

我想将其剥离到xxxx.wordpress.com

如何在识别这些情况的同时仍识别所有其他正常条目?

最佳答案

您的表达式似乎工作得很好,它输出您可能想要的内容。我只添加了一个 i 标志并稍微修改为:

(https?:\/\/)?([w]{3}\.)?(\w*.\w*)([\/\w]*)

正则表达式

如果这不是您想要的表达式,您可以在regex101.com中修改/更改您的表达式。 .

enter image description here

正则表达式电路

您还可以在 jex.im 中可视化您的表情:

enter image description here

Python 代码

# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility

import re

regex = r"(https?:\/\/)?([w]{3}\.)?(\w*.\w*)([\/\w]*)"

test_str = ("https://www.facebook.org/hello\n"
"http://www.xxxx.wordpress.com/hello\n"
"http://www.xxxx.yyy.zzz.wordpress.com/hello")

subst = "\\3"

# You can manually specify the number of replacements by changing the 4th argument
result = re.sub(regex, subst, test_str, 0, re.MULTILINE | re.IGNORECASE)

if result:
print (result)

# Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.

JavaScript 演示

const regex = /(https?:\/\/)?([w]{3}\.)?(\w*.\w*)([\/\w]*)/gmi;
const str = `https://www.facebook.org/hello
http://www.xxxx.wordpress.com/hello
http://www.xxxx.yyy.zzz.wordpress.com/hello`;
const subst = `$3`;

// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);

console.log('Substitution result: ', result);

关于python - 用于提取域和子域的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56157896/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com