首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Regex (JS):匹配没有协议的URLs,忽略有协议的URLS

Regex (JS) 是 JavaScript 中的正则表达式,用于匹配字符串模式。在这个问题中,我们需要使用正则表达式来匹配没有协议的URL,同时忽略有协议的URL。

以下是一个示例的正则表达式模式,可以用于匹配没有协议的URL:

代码语言:javascript
复制
/^(?!https?:\/\/)(?:\w+\.)+\w+(?:\/\S*)?$/

解析:

  • ^ 表示匹配字符串的开头
  • (?!https?:\/\/) 使用负向前瞻,表示不匹配以 http://https:// 开头的字符串
  • (?:\w+\.)+ 表示匹配一个或多个字母数字字符和一个点号,重复多次
  • \w+ 表示匹配一个或多个字母数字字符
  • (?:\/\S*)? 表示匹配一个斜杠后跟零个或多个非空白字符的组合,该组合是可选的
  • $ 表示匹配字符串的结尾

这个正则表达式可以匹配以下类型的URL:

  • example.com
  • subdomain.example.com
  • example.com/path
  • subdomain.example.com/path

以下是一个示例代码,演示如何使用正则表达式进行匹配:

代码语言:javascript
复制
const regex = /^(?!https?:\/\/)(?:\w+\.)+\w+(?:\/\S*)?$/;

const urls = [
  'example.com',
  'http://example.com',
  'https://example.com',
  'subdomain.example.com',
  'http://subdomain.example.com',
  'https://subdomain.example.com',
  'example.com/path',
  'http://example.com/path',
  'https://example.com/path',
  'subdomain.example.com/path',
  'http://subdomain.example.com/path',
  'https://subdomain.example.com/path'
];

urls.forEach(url => {
  if (regex.test(url)) {
    console.log(`${url} 匹配成功`);
  } else {
    console.log(`${url} 匹配失败`);
  }
});

输出结果:

代码语言:txt
复制
example.com 匹配成功
http://example.com 匹配失败
https://example.com 匹配失败
subdomain.example.com 匹配成功
http://subdomain.example.com 匹配失败
https://subdomain.example.com 匹配失败
example.com/path 匹配成功
http://example.com/path 匹配失败
https://example.com/path 匹配失败
subdomain.example.com/path 匹配成功
http://subdomain.example.com/path 匹配失败
https://subdomain.example.com/path 匹配失败

在腾讯云的产品中,可以使用云函数 SCF(Serverless Cloud Function)来实现对正则表达式的匹配。您可以通过以下链接了解更多关于腾讯云云函数 SCF 的信息:

请注意,以上答案仅供参考,具体的实现方式可能因您的需求和环境而有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • [网络安全] 三十三.Python攻防之正则表达式、网络爬虫和套接字通信入门(2)

    真正厉害的安全工程师都会自己去制作所需要的工具(包括修改开源代码),而Python语言就是这样一个利器。Python开发的平台包括Seebug、TangScan、BugScan等。在广度上,Python可以进行蜜罐部署、沙盒、Wifi中间人、Scrapy网络爬虫、漏洞编写、常用小工具等;在深度上,Python可以实现SQLMAP这样一款强大的SQL注入工具,实现mitmproxy中间人攻击神器等。由于Python具有简单、易学习、免费开源、高级语言、可移植、可扩展、丰富的第三方库函数特点,Python几行代码就能实现Java需要大量代码的功能,并且Python是跨平台的,Linux和Windows都能使用,它能快速实现并验证我们的网络攻防想法,所以选择它作为我们的开发工具。

    02
    领券