首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查带有两个域名的帐户的用户链接?

问如何检查带有两个域名的帐户的用户链接?
EN

Stack Overflow用户
提问于 2018-10-23 05:50:53
回答 2查看 35关注 0票数 1

如何使用两个域名验证用户配置文件URL。例如,有些站点可以从某些域获得。同一个站点会打开多个域名。例如,我也可以使用https://website.com访问https://wb.com。在这种情况下,URL的用户配置文件可以有两个域:

我可以用两种不同的模式单独检查这些域:

For: https://website.com/username

代码语言:javascript
复制
(?:(?:http|https):\/\/)?(?:www.)?website.com\/(?:(?:\w)*#!\/)?([\w\-]*)?

For: https://wb.com/username

代码语言:javascript
复制
(?:(?:http|https):\/\/)?(?:www.)?wb.com\/(?:(?:\w)*#!\/)?([\w\-]*)?

如何创建单个模板来检查指向用户配置文件的链接?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-23 06:06:48

使用替换来匹配website或wb,以及重构regex以删除不必要的组等等,您可以使用:

代码语言:javascript
复制
(?:https?:\/\/)?(?:www\.)?(?:wb|website)\.com\/(?:\w*#!\/)?([\w-]*)?

注意,因为.匹配任何字符,所以需要在前面使用\转义。

https://regex101.com/r/BCbmEw/1

分开的:

代码语言:javascript
复制
(?:https?:\/\/)?
(?:www\.)?
(?:wb|website)\.com\/
(?:\w*#!\/)?
([\w-]*)?
票数 2
EN

Stack Overflow用户

发布于 2018-10-23 06:04:21

如果要包含任何用户名,您的regex可能必须是编程的(我在这里使用Bash来检查我的工作,因此,为了名称起见,我将使用{username},这是我想要的人的所需用户名。我还将安全地假设您想要的所有URL都是这种格式的。

我测试站点的方法也是使用一个名为sites.txt的文本文件,我测试regex的方法是运行cat sites.txt | grep '{expression}'。

我的表达式是,同样,{username}是我们想要的用户名:

代码语言:javascript
复制
.*\/{username}$

例如,对于用户名username,我的表达式是:

代码语言:javascript
复制
.*\/username$

或者,对于您的名字Andreas,您的名字可能是ahunter1,其结果是:

代码语言:javascript
复制
.*\/ahunter1$

我提到编程正则表达式的原因是:假设您是在程序中执行此操作,而您的语言有一个方法/插件/库,或者检查数组或文件中每一行中每一项的方法/插件/库,并且在完全匹配的情况下,它返回true,否则返回false。

如果您在Java中这样做,并且您的方法运行在字符串str上,并且该方法是一个名为isRegexMatch(String)的String方法,并且您正在检查的用户名是另一个名为username的String,那么您的方法调用将类似于:

代码语言:javascript
复制
str.isRegexMatch(".*\\/" + username + "$");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52941955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档