可以使用正则表达式来判断文字中是否包含有效的域名,例如:

String text = "This is a sample text with domain name www.example.com.";
String regex = "\\b([a-zA-Z0-9]+\\.)+[a-zA-Z]{2,}\\b";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(text);
if (matcher.find()) {
    String domain = matcher.group();
    System.out.println("The text contains domain: " + domain);
} else {
    System.out.println("The text does not contain any domain.");
}

上面的代码中,正则表达式 \b([a-zA-Z0-9]+\.)+[a-zA-Z]{2,}\b 匹配包含域名的字符串。它的含义是:

  • \b 表示单词边界,即匹配单词的开头或结尾;
  • ([a-zA-Z0-9]+\.)+ 表示匹配一个或多个连续的由字母或数字组成的子域名(比如 www、blog、mail 等),后面跟一个点号;
  • [a-zA-Z]{2,} 表示匹配一个或多个字母组成的顶级域名(比如 com、org、edu 等),长度至少为2个字符。

如果匹配成功,则可以使用 matcher.group() 方法获取匹配到的域名

java正则判断文字中是否对应域名

原文地址: http://www.cveoy.top/t/topic/gCWn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录