java域名正则表达式
时间: 2023-11-17 14:04:18 浏览: 107
java正则表达式
以下是Java中匹配域名的正则表达式:
```java
String regex = "^((?!-)[A-Za-z0-9-]{1,63}(?<!-)\\.)+[A-Za-z]{2,6}$";
```
该正则表达式可以匹配符合规范的域名,其中:
- `^` 表示匹配字符串的开始位置。
- `(?!-)` 表示不以 `-` 开头。
- `[A-Za-z0-9-]{1,63}` 表示匹配长度为 1 到 63 的字母、数字或 `-`。
- `(?<!-)` 表示不以 `-` 结尾。
- `\\.` 表示匹配 `.`。
- `+` 表示匹配前面的子表达式一次或多次。
- `[A-Za-z]{2,6}` 表示匹配长度为 2 到 6 的字母。
以下是一个示例代码,演示如何使用该正则表达式匹配域名:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DomainRegexDemo {
public static void main(String[] args) {
String domain = "www.example.com";
String regex = "^((?!-)[A-Za-z0-9-]{1,63}(?<!-)\\.)+[A-Za-z]{2,6}$";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(domain);
if (matcher.matches()) {
System.out.println("该域名符合规范。");
} else {
System.out.println("该域名不符合规范。");
}
}
}
```
阅读全文