我是正则表达式的新手。我需要在Notepad ++ 的example.com
文件中找到.SQL
的实例,而这些实例不属于 subdomain.example.com
(已编辑) < / p>
从this answer开始,我尝试使用^((?!subdomain))\.example\.com$
,但这不起作用。
我在Notepad ++和@ https://regex101.com/r/kS1nQ4/1中对此进行了测试,但它不起作用。
帮助表示赞赏。
答案 0 :(得分:1)
简单
^example\.com$
使用g,m,i
开关的将适合您。
https://regex101.com/r/sJ5fE9/1
如果匹配应该在字符串中间的某处进行,你可以使用负面看后面检查之前没有点:
(?<!\.)example\.com
答案 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