You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用正则表达式提取前后含空格的Mywebsite.xx字符串?

提取"Mywebsite.xx"格式字符串的解决方案

你的需求是从文本里提取完整的Mywebsite.xx格式字符串(包括Mywebsite.co.uk这类多级后缀的情况),之前的代码存在两个问题:

  • 正则Mywebsite(.*?)仅捕获Mywebsite之后的内容,且惰性匹配会在第一个可停止的位置结束,无法拿到完整域名;
  • 你输出的是group(1),也就是捕获的后缀部分,而非完整的目标字符串。

正确的正则与代码实现

可以使用这个正则匹配完整目标:Mywebsite\.[a-zA-Z0-9.]+

  • Mywebsite:固定匹配开头字符
  • \.:转义后匹配实际的点(正则中点是通配符,必须转义)
  • [a-zA-Z0-9.]+:匹配域名后缀部分,允许字母、数字和点(支持co.uk这类多级后缀),+表示至少包含一个字符

修正后的代码示例:

String mydata2 = "Mywebsite.de durchsuchen";
Matcher matcher = Pattern.compile("Mywebsite\\.[a-zA-Z0-9.]+").matcher(mydata2);
if (matcher.find()) {
    System.out.println(matcher.group()); // 直接输出完整匹配结果,无需指定group(1)
}

场景验证

对于Search Mywebsite.co.uk或Mywebsite.co.uk something这类文本,该正则都能准确提取出Mywebsite.co.uk。如果需要更严格的域名规范匹配,可将正则调整为Mywebsite\.[a-zA-Z0-9]+(?:\.[a-zA-Z0-9]+)*,但针对你的示例场景,第一个正则已足够使用。

内容的提问来源于stack exchange,提问作者golu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 08:05:21