当包含某些单词时正则表达不匹配url?

问题描述 投票:0回答:1

当他们包含qazxsw poi时,我不希望我的正则表达式匹配网址。

当然,我已经在这个论坛和其他人上尝试了很多组合。

最明显的是:

.premium-

但这不起作用。我应该怎么做?

php regex
1个回答
0
投票

简要

你很近。你刚刚错过了]*href="(https://...。负向前瞻被绑定到您将其放置在模式中的位置,因此它不会超过字符串中的确切位置。你需要量化一些东西,告诉它从那个位置看任何地方。

此外,当它不在一个集合中时,你不需要逃脱[^"']*,所以使用-就足够了。


\.premium-

See regex in use here

说明

我只是将<a[^>]*href="(https://www.example.com/(?![^"']*\.premium-)[^"']+)"[^>]*> 添加到负面前瞻的最前沿。这确保了它将在需要时继续,直到满足匹配(在负前瞻中)。

© www.soinside.com 2019 - 2024. All rights reserved.