一直在与Regex斗争,帮助是非常感谢!我想匹配部分URL与Regex,但不能得到我的头周围。域包括:第二部分第三部分我希望正则表达式与
name我该如何实现这一目标?
从(?<=^|\.)和(?<=^|\.)secondpart\.thirdpart\.com$开始,但不起作用。
(?<=^|\.)
(?<=^|\.)secondpart\.thirdpart\.com$
2eafrhcq1#
请注意,我使用前导反斜杠转义斜杠,假设您使用斜杠作为正则表达式分隔符。如果您不使用分隔符或使用其他分隔符(例如#),则可以使用/代替\/。如果你只关心第一部分,那么
/
\/
^[^.:\/]+:\/\/([^.]+)
应该可以。https://regex101.com/r/CXXOOD/1如果之后还需要强制实施特定域,则在如下所示的组中捕获该域
^[^.:\/]+:\/\/([^.]+)\.secondpart\.thirdpart\.com$
https://regex101.com/r/gjfYhC/1如果您要确保在子域部分之后正好有3个部分,但不关心它们是什么:
^[^.:\/]+:\/\/([^.]+)(?:\.[^.]+){3}$
https://regex101.com/r/lUYBkT/1
gpfsuwkq2#
标记pcre时,您可以用途:
^https?://\K[^\s./]+
说明
^
https?://
\K
[^\s./]+
.
请参见regex demo。
igetnqfo3#
你可以用它,
(?:http[s]*\:\/\/)*(.*?)\.(?=[^\/]*\..{2,5})
3条答案
按热度按时间2eafrhcq1#
请注意,我使用前导反斜杠转义斜杠,假设您使用斜杠作为正则表达式分隔符。如果您不使用分隔符或使用其他分隔符(例如#),则可以使用
/
代替\/
。如果你只关心第一部分,那么
应该可以。
https://regex101.com/r/CXXOOD/1
如果之后还需要强制实施特定域,则在如下所示的组中捕获该域
https://regex101.com/r/gjfYhC/1
如果您要确保在子域部分之后正好有3个部分,但不关心它们是什么:
https://regex101.com/r/lUYBkT/1
gpfsuwkq2#
标记pcre时,您可以用途:
说明
^
字符串开头https?://
将协议与可选的s匹配\K
忽略目前匹配的内容[^\s./]+
匹配1+次非空白字符,.
和/
除外请参见regex demo。
igetnqfo3#
你可以用它,