当前位置: 首页 > 面试题库 >

正则表达式以匹配域和子域(在Java中)

樊烨烨
2023-03-14
问题内容

我需要验证给定的URL是否与我的域掩码匹配。

示例:我只允许满足此“伪掩码”的域:

https://*.domain.com
http://*.domain.com

因此,下一个域名可以:

http://my.domain.com/something/blah.html
https://www.domain.com/
http://domain.com/go/somewhere.html
https://very.weird.domain.com/index.jsp

但下一个域名不正确:

https://domain.com.google.com/other.html
http://my.domainfake.com/haha.jsp
https://my.fakedomain.com/

问题答案:
^https?://[^/@]*\.domain\.com(/.*)?$

/不要停止.domain.com出现在路径中,@不要停止用户名:password @滥用。)

更好的方法是:使用Java内置的URL类正确解析URL。然后,您可以只读取host属性,并检查它是否是endsWith您的域。



 类似资料:
  • 问题内容: 当字符串以数字开头时,我需要匹配,然后是一个点,然后是一个空格和1个或多个大写字符。匹配必须发生在字符串的开头。我有以下字符串。 我尝试过的正则表达式是: 它不匹配。一个有效的正则表达式将对这个问题有什么作用? 问题答案: (对不起,我先前的错误。大脑现在坚定地投入了。嗯,也许。) 这有效: 分解: =字符串开头 =一个或多个数字 (之所以转义,是因为它在字符串中,因此) =文字(或者

  • 问题内容: 我从以下格式的文件中获取输入: 现在,我想在我的Java代码中读取int1,int2,int3和int4。我该如何在Java中使用正则表达式匹配。谢谢。 问题答案: 为了避免空值:

  • 问题内容: 设置修饰符后,为什么Java子匹配项停止工作? 上面的方法很好,is 和is 。 上面的内容忽略了我的捕获组。以下是唯一有效的解决方案吗? 编辑: 我再次高兴地告诉您,十年后您现在可以执行此操作(.matchAll已添加到规范中) 问题答案: 我很惊讶地发现我是第一个回答我十年前一直在寻找答案的人(答案尚不存在)。我还希望实际的规范作者会在我之前回答它;)。 .matchAll 已被添

  • 本文向大家介绍匹配 IP 地址与域名的正则表达式,包括了匹配 IP 地址与域名的正则表达式的使用技巧和注意事项,需要的朋友参考一下 一个完整的域名,由根域、顶级域、二级、三级……域名构成,每级域名之间用点分开,每级域名由字母、数字和减号构成(第一个字母不能是减号),不区分大小写,长度不超过63。 单独的名字可以由正则表达式[a-zA-Z0-9][-a-zA-Z0-9]{0,62}来匹配,而完整的域

  • 问题内容: 在使用正则表达式时,我使用RegexBuddy。我从其库中复制了正则表达式以匹配URL。我在RegexBuddy中成功测试。但是,当我将其复制为Java 样式并将其粘贴到Java代码中时,它将无法正常工作。以下类打印: 有人知道我在做什么错吗? 问题答案: 请尝试以下正则表达式字符串。你的测试可能以区分大小写的方式进行。我添加了小写字母Alpha以及正确的字符串开头占位符。 这也适用:

  • 我用这个过滤聊天中的消息,我用C#来做这件事。这里有一个工具,如果你想进一步挖掘:http://regexr.com/3faji C#扩展方法: