Java中使用正则表达式匹配出http://localhost:8081的主机
时间: 2024-06-09 22:04:47 浏览: 163
可以使用以下正则表达式来匹配出 http://localhost:8081 的主机:
```
^http://([\w.-]+)(:\d+)?/.*
```
解释一下:
- `^` 表示匹配字符串的开头
- `http://` 表示匹配 http:// 字符串
- `([\w.-]+)` 表示匹配主机名,其中 `\w` 表示匹配任意字母、数字、下划线,`.` 表示匹配点号,`-` 表示匹配连字符,`+` 表示匹配一个或多个字符
- `(:\d+)?` 表示匹配端口号,其中 `:` 表示匹配冒号,`\d` 表示匹配任意数字,`+` 表示匹配一个或多个数字,`?` 表示端口号可选
- `/.+` 表示匹配 URL 的路径部分,其中 `/` 表示匹配斜杠,`.+` 表示匹配一个或多个字符
以下是示例代码:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String url = "http://localhost:8081/hello/world";
Pattern pattern = Pattern.compile("^http://([\\w.-]+)(:\\d+)?/.*");
Matcher matcher = pattern.matcher(url);
if (matcher.find()) {
String host = matcher.group(1);
System.out.println(host);
}
}
}
```
输出结果为:
```
localhost
```
阅读全文