匹配URL的正则表达式
时间: 2023-03-19 07:21:58 浏览: 122
匹配URL的正则表达式可以有很多种写法,以下是其中一种常见的写法:
```
^(http|https)://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,}(\/\S*)?$
```
这个正则表达式可以匹配以"http://"或"https://"开头的URL,后面紧跟着域名,域名由一组字母、数字、中划线和点号组成,后面可能跟着一些路径。其中,路径可以包含任意非空白字符。
相关问题
用于匹配URL的正则表达式
常用的匹配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匹配,可以使用更复杂的正则表达式或者第三方库。
阅读全文