繁体   English   中英

有人可以解释这个 REGEX 在做什么吗? [复制]

[英]Can someone explain what this REGEX is doing? [duplicate]

这个问题在这里已经有了答案:

所以我有一个 function 返回真/假,具体取决于字符串参数是否是有效的 URL。 问题是我不太了解 REGEX。 我知道这个 function 对于像“test”这样的字符串会返回 true,而对于“www.test.com”会返回 false,但我想了解这个 REGEX 正在检查的具体内容。 谁能给我解释一下?

function isInvalidUrl(value) {
    // REGEX to determine that string is in the format of a URL
    const URL_REGEX = /^\/[a-z0-9]+$|[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi;
    return value && !URL_REGEX.test(value);
  }

这是@phuzi 上面提到的 Debuggex 可视化:

^\/[a-z0-9]+$|[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?

正则表达式可视化

调试演示

正如您在演示中看到的那样,这不是最有用的正则表达式,因为它将asasest.com..sx.asxasx....asx作为有效的 URL 传递。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM