使用 JavaScript 正则表达式匹配 GitHub 仓库文件 URL

本文介绍如何使用 JavaScript 正则表达式匹配 GitHub 仓库文件 URL 的格式。该格式通常为:https://github.com/{username}/{repo}/blob/{sha}/{filename}

以下是一个基本的正则表达式,用于匹配该 URL 格式:

const urlRegex = /^https?://github.com/[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+/blob/[a-f0-9]+/[a-zA-Z0-9_\.-]+$/i;

解释每个部分

  • ^:匹配字符串的开始部分。
  • https?:匹配 httphttps
  • ://:匹配 ://
  • github\.com:匹配 github.com
  • /:匹配 /
  • [a-zA-Z0-9_-]+:匹配一或多个字母、数字、下划线或破折号。
  • /blob/:匹配 /blob/
  • [a-f0-9]+:匹配一或多个十六进制数字(用于表示 Git 的 SHA-1 哈希值)。
  • /:匹配 /
  • [a-zA-Z0-9_\.-]+:匹配一或多个字母、数字、下划线、破折号或点号(用于表示文件名和扩展名)。
  • $:匹配字符串的结尾部分。

正则表达式中的 /i 标志表示匹配时不区分大小写。

使用示例

const inputUrl = 'https://github.com/username/repo/blob/1a2b3c4d5e6f7g8h9i0j/example.js';

if (urlRegex.test(inputUrl)) {
  console.log('URL matches expected format');
} else {
  console.log('URL does not match expected format');
}

总结

使用 JavaScript 正则表达式可以轻松地验证用户输入的 GitHub 仓库文件 URL 是否符合规范。这对于构建网页表单或进行 URL 解析等应用场景非常有用。


原文地址: https://www.cveoy.top/t/topic/lvIp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录