gpt4 book ai didi

ios - 用于将特定 URL 与小写字母和破折号匹配的正则表达式

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:35:17 24 4
gpt4 key购买 nike

每天早上,我都会访问这个名为 mtonews.com 的网站,我正在尝试使用 RegEx 构建一个 iOS 快捷方式,以打开网站上的所有新闻链接。

该网站有一堆链接:

https://mtonews.com/rihanna-teams-up-with-lvmh-for-fashion-brand    
https://mtonews.com/ciara-goes-naked-for-new-album-release

https://www.btserve.com/serve?t=bidt-sra&v=1&pubId=168&siteId=512&placementUid=5ae8e4105e-168%7C5&pgid=78ff2e45-8b3c-6a06-465f-2ac1a107f4f6&o=https://mtonews.com/&amp
https://mtonews.com/.image/t_share/MTYzOTYyODY2ODAwNTM1Mzc3/steve_marjorie.png

我希望 RegEx 打开所有类似于前两个的链接。

这是我目前所拥有的:

^(?!image$|btserve$).*mtonews.com.*$

最佳答案

This tool可能会帮助您根据需要设计表达式。捕获组是正则表达式最简单的特性,你可以一步步绑定(bind)你想要的输出。例如,

^((https?.*)(mtonews.com\/)([A-Za-z0-9-]+))$

有四个捕获组,一个用于协议(protocol),一个用于域,一个用于前导 URL,第一个将所有这三个组包装在其中,并且可以简单地由 $1 调用。

enter image description here

正则表达式描述图

图表可视化它是如何工作的,您可能想测试此 link 中的其他表达式:

enter image description here

基本性能测试

此 JavaScript 片段返回 100 万次 for 循环的运行时间以提高性能。

const repeat = 1000000;
const start = Date.now();

for (var i = repeat; i >= 0; i--) {
const string = 'https://mtonews.com/rihanna-teams-up-with-lvmh-for-fashion-brand';
const regex = /^((https?.*)(mtonews.com\/)([A-Za-z0-9-]+))$/gm;
var match = string.replace(regex, "\nGroup #1: $1\nGroup #2: $2 \nGroup #3: $3 \nGroup #4: $4 \n");
}

const end = Date.now() - start;
console.log("YAAAY! \"" + match + "\" is a match 💚💚💚 ");
console.log(end / 1000 + " is the runtime of " + repeat + " times benchmark test. 😳 ");

您可以简单地修改和简化这个表达式。

关于ios - 用于将特定 URL 与小写字母和破折号匹配的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56085291/

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