Ruby正则表达式,用于匹配任何子域和顶级域

时间:2018-09-12 20:00:21

标签: ruby regex

我正在尝试创建一个正则表达式,该正则表达式将可选地匹配任何子域,并匹配TLD。例如,它应该匹配…

它不应该匹配...

到目前为止,我拥有此功能,它与子域匹配,但在顶级域时不匹配。 (\A|(https?:\/\/))?(\w*|\S*)\.{1}example\.com

1 个答案:

答案 0 :(得分:2)

您可以使用

/\A(?:https?:\/\/)?(?:\S*\.)?example\.com\z/

请参见regex demo

详细信息

  • \A-字符串的开头
  • (?:https?:\/\/)?-可选(匹配?的量词重复1或0次)非捕获组匹配http,可选s,然后{ {1}}子字符串
  • //-一个可选的非捕获组,它匹配1个或0个出现的0个或多个非空白字符(带有(?:\S*\.)?),然后是点(\S*
  • \.-一个example\.com子字符串
  • example.com-字符串的结尾。