用于匹配URL的正则表达式
时间: 2023-06-21 08:18:44 浏览: 138
常用的匹配URL的正则表达式为:
```
/^((http[s]?|ftp):\/\/)?([^:\/\s]+)((\/\w+)*\/)([\w\-\.]+[^#?\s]+)(.*)?(#[\w\-]+)?$/
```
该正则表达式可以匹配以 http://、https:// 或 ftp:// 开头的 URL,可以包含用户名和密码,支持多级目录和查询参数,以及锚点。
相关问题
js中url正则表达式
以下是一个简单的JavaScript正则表达式,可以用于匹配URL:
```javascript
const urlRegex = /^(?:https?:\/\/)?(?:www\.)?[\w.-]+\.[a-zA-Z]{2,20}(?:\/[\w\.-]*)*\/?$/;
const url = "https://www.google.com/search?q=javascript";
if (urlRegex.test(url)) {
console.log("URL is valid");
} else {
console.log("URL is not valid");
}
```
这个正则表达式的含义是:
- `^` 匹配字符串的开始
- `(?:https?:\/\/)?` 匹配可选的 `http://` 或 `https://`,`(?:...)` 表示非捕获分组
- `(?:www\.)?` 匹配可选的 `www.`,`\.` 表示匹配 `.`
- `[\w.-]+` 匹配一个或多个字母、数字、下划线、点、短横线
- `\.[a-zA-Z]{2,20}` 匹配一个点和2到20个字母
- `(?:\/[\w\.-]*)*` 匹配可选的斜杠和零个或多个字母、数字、下划线、点、短横线
- `\/?` 匹配可选的斜杠
- `$` 匹配字符串的结束
这个正则表达式可以匹配大多数常见的URL,但是并不能匹配所有可能的URL。如果你需要更复杂的URL匹配,可以使用更复杂的正则表达式或者第三方库。
阅读全文