正则表达式查找域名而不将这些实例作为subdomain.domain

时间:2016-04-14 04:19:54

标签: regex

我是正则表达式的新手。我需要在Notepad ++ example.com文件中找到.SQL的实例,而这些实例不属于 subdomain.example.com (已编辑) < / p>

this answer开始,我尝试使用^((?!subdomain))\.example\.com$,但这不起作用。

我在Notepad ++和@ https://regex101.com/r/kS1nQ4/1中对此进行了测试,但它不起作用。

帮助表示赞赏。

3 个答案:

答案 0 :(得分:1)

简单

^example\.com$
使用g,m,i开关的

将适合您。

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

如果匹配应该在字符串中间的某处进行,你可以使用负面看后面检查之前没有点:

(?<!\.)example\.com

https://regex101.com/r/sJ5fE9/2

答案 1 :(得分:0)

这是一个考虑协议/前缀

的解决方案
/^(www\.)?(http:\/\/www\.)?(https:\/\/www\.)?example\.com$/

答案 2 :(得分:0)

无法访问示例文本,有点难以猜测您真正需要的是什么,但正则表达式

(^|\s)example\.com\>

会找到example.com前面没有任何内容或空格,后跟一个单词边界。 (你仍然可以在example.com.pk上得到一个错误的匹配,因为句号是一个单词边界。如果你想要更好的答案,请在你的问题中提供更好的例子。)

如果您特别想要使用环视,那么您使用的最新前瞻(顾名思义)指定此时正则表达式不应匹配的内容。因此(?!subdomain\.)example总是很简单地匹配,因为example不是subdomain. - 否定的前瞻不可能是真的。

你可能会更好地为后视者服务:

(?<!subdomain\.)example\.com

演示:https://regex101.com/r/kS1nQ4/3