繁体   English   中英

RegEx 仅匹配 URL 的第一部分并将其用作变量

[英]RegEx Match only first part of URL and use this as variable

一直在与 RegEx 斗争,非常感谢帮助。 我想将 URL 的部分内容与正则表达式匹配,但无法理解它。

域是:

https://名称.secondpart.thirdpart.com

我希望我的正则表达式匹配

名称我将如何实现这一目标?

(?<=^|\.)(?<=^|\.)secondpart\.thirdpart\.com$ ,但没有成功。

请注意,假设您使用斜杠作为正则表达式定界符,我使用前导反斜杠对斜杠进行了转义。 如果您不使用或使用不同的分隔符(例如#),您可以只使用/而不是\/


如果你只关心第一部分,那么

^[^.:\/]+:\/\/([^.]+)

应该做的伎俩。

https://regex101.com/r/CXXOOD/1


如果您之后还需要强制执行特定域,则将其捕获到这样的组中

^[^.:\/]+:\/\/([^.]+)\.secondpart\.thirdpart\.com$

https://regex101.com/r/gjfYhC/1


如果您想确保在子域部分之后恰好有 3 个部分,但不关心它们是什么:

^[^.:\/]+:\/\/([^.]+)(?:\.[^.]+){3}$

https://regex101.com/r/lUYBkT/1

当你标记 pcre 时,你可以使用:

^https?://\K[^\s./]+

解释

  • ^字符串开始
  • https?://匹配带有可选s的协议
  • \K忘记到目前为止匹配的内容
  • [^\s./]+匹配 1+ 次非空白字符,除了. /

请参阅正则表达式演示

你可以使用它,

(?:http[s]*\:\/\/)*(.*?)\.(?=[^\/]*\..{2,5})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM