一个标准url+域名的正则表达式
时间: 2023-08-09 18:10:13 浏览: 39
以下是一个匹配标准URL+域名的正则表达式:
```
/^((http[s]?|ftp):\/\/)?([a-zA-Z0-9]+[\.]?)+[a-zA-Z]{2,6}[\/]?([a-zA-Z0-9\-\._\?\,\'\/\\\+&%\$#\=~])*$/
```
该正则表达式可以匹配包含http://或https://或ftp://协议的URL,以及以域名结尾的URL路径。
相关问题
java+js正则表达式获取URL(带端口)域名
可以使用以下正则表达式来获取URL(带端口)域名:
```java
String regex = "(http|https):\\/\\/[\\w.]+(:\\d+)?";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(url);
if (matcher.find()) {
String domain = matcher.group(0);
// 处理获取到的域名
}
```
```js
const regex = /(http|https):\/\/[\w.]+(:\d+)?/;
const url = "http://www.example.com:8080/path/to/page";
const match = url.match(regex);
if (match) {
const domain = match[0];
// 处理获取到的域名
}
```
其中,正则表达式`(http|https):\/\/[\w.]+(:\d+)?`的含义是:
- `(http|https)`:匹配以`http`或`https`开头的协议。
- `:\/\/`:匹配`://`。
- `[\w.]+`:匹配任意数量的字母、数字、下划线和点号。
- `(:\d+)?`:匹配可选的冒号和数字端口号。
写一个不含协议的URL正则表达式
以下是一个不含协议的URL正则表达式:
```
^(?i)(?:[a-z0-9-]{1,63}\.)+[a-z]{2,6}(?::\d{1,5})?(?:\/[^\s]*)?$
```
这个正则表达式匹配的是没有协议的URL,例如:
```
www.example.com
example.com/path
subdomain.example.com:8080
```
注意,这个正则表达式不包含协议,但是它假定 URL 中包含域名。如果 URL 中没有域名,那么这个正则表达式将无法匹配。