如何匹配特定字符的第一个/后一个

时间:2017-08-08 16:04:07

标签: regex regex-greedy

我一直在查看多个问题,但无法找到答案......即使我确定我的问题很容易解决......

我有以下模式:

https://www.website.domain/blablabla/my-page-path-here

我想捕获website.domain。我一直在玩https://regex101.com/,直到现在我才提出这个问题:

www.(.*)(\/.*?)

但不起作用......

谢谢!

2 个答案:

答案 0 :(得分:2)

使用正面lookbehind:(?<=www\.)[^\/]+

说明:
(?<=www\.) - 如果前面有www.,则匹配下一个表达式
[^\/]+ - 匹配一个或多个除/

之外的任何字符

答案 1 :(得分:0)

关闭,但这可能会更好

(?!w{1,}\.)(\w+\.?)([a-zA-Z]+)(\.\w+)匹配:“website.domain”

它选择域和子域并忽略www

您希望保持www只删除第一组

(\w+\.?)([a-zA-Z]+)(\.\w+)匹配:www.website.domain