[英]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}$
当你标记 pcre 时,你可以使用:
^https?://\K[^\s./]+
解释
^
字符串开始https?://
匹配带有可选s的协议\K
忘记到目前为止匹配的内容[^\s./]+
匹配 1+ 次非空白字符,除了.
和/
请参阅正则表达式演示。
你可以使用它,
(?:http[s]*\:\/\/)*(.*?)\.(?=[^\/]*\..{2,5})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.