Regex 如何在不使用^and的情况下匹配精确字符串$

Regex 如何在不使用^and的情况下匹配精确字符串$,regex,Regex,我有这样一个简单的域名:https://example.com/我想将其与一个字符串进行匹配,该字符串可能是精确匹配的,也可能不是精确匹配的 其他变化可能包括: https://example.com/1234567890/ https://example.com/subdomain/subdomain2 https://example.com/domain 等 我想匹配确切的域,但不告诉它字符串的开始或结束位置 我尝试了:https:\/\/example\.com\/[^.]希望否定字符串

我有这样一个简单的域名:
https://example.com/
我想将其与一个字符串进行匹配,该字符串可能是精确匹配的,也可能不是精确匹配的

其他变化可能包括:

https://example.com/1234567890/
https://example.com/subdomain/subdomain2
https://example.com/domain

我想匹配确切的域,但不告诉它字符串的开始或结束位置

我尝试了:
https:\/\/example\.com\/[^.]
希望否定字符串后面的任何内容,或者
https:\/\/example\.com\/(?!)
否定前瞻,但这似乎不起作用,所以我现在迷路了

我需要一个只匹配
https://example.com/
从该列表中:

https://example.com/
https://example.com/1234567890/
https://example.com/subdomain/subdomain2
https://example.com/domain

考虑到URL不包含空格。然后,您可以使用
[^.]
而不是
[^\s]
\s

(?:^|\s)http\S+

请注意,这假设所有URL都以
http
开头,并且任何非空白字符都是URL的一部分

编辑:

由于您只想匹配域,因此可以执行以下操作:

(?:^|\s)(https?://\w+\.\w+/)

考虑到URL不包含空格。然后,您可以使用
[^.]
而不是
[^\s]
\s

(?:^|\s)http\S+

请注意,这假设所有URL都以
http
开头,并且任何非空白字符都是URL的一部分

编辑:

由于您只想匹配域,因此可以执行以下操作:

(?:^|\s)(https?://\w+\.\w+/)

您希望与您提供的示例URL匹配,还是不匹配?例如,应该
https://example.com/1234567890/
是否返回匹配项?这就是您要尝试的吗?或者,以上解决方案都不适合我,因为它们匹配所有3个URL,只需匹配
https://example.com/
您希望匹配您提供的示例URL,还是不匹配?例如,应该
https://example.com/1234567890/
是否返回匹配项?这就是您要尝试的吗?或者,以上解决方案都不适合我,因为它们匹配所有3个URL,只需匹配
https://example.com/
在这句话中,用https替换hxxps(禁止在评论中自动链接),您的正则表达式将匹配
https://www.google.com/>,
。OP需要指定OP字符串中可以和不能跟随URL的内容。在此之前,如果您必须回答,请清楚地说明您所做的假设,以便人们能够做出明智的决定,您的回答是否足以满足他们的要求。@hvd“考虑URL不包含空格”,这实际上是我的意图。不过我现在已经说得更清楚了。这不适用于所有URL,因为它匹配所有URL,我只需要匹配
https://example.com/
@faceoff我没有注意到您只想匹配域,而不是整个URL。看看我的编辑。不,我想要一个只匹配元素
https://example.com/
来自此列表:
https://example.com/ https://example.com/1234567890/ https://example.com/subdomain/subdomain2 https://example.com/domain
本句中包含,hxxps替换为https(禁用注释中的自动链接),您的正则表达式将匹配
https://www.google.com/>,
。OP需要指定什么可以和不可以跟随OP字符串中的URL。在此之前,如果您必须回答,请清楚地说明您所做的假设,以便人们能够充分了解您的回答是否满足他们的要求。@hvd我的意思是“考虑到URL不包含空格”。但是我现在已经说得更清楚了。这不适用于,因为它匹配所有URL,我只需要匹配
https://example.com/
@faceoff我错过了你只想匹配域,而不是整个URL。请看我的编辑。不,我想要一个只匹配元素的正则表达式
https://example.com/
来自此列表:
https://example.com/ https://example.com/1234567890/ https://example.com/subdomain/subdomain2 https://example.com/domain