擅长:python、mysql、java
<p>使用负面展望:</p>
<pre><code>^(?!.*dog).*cat.*$
</code></pre>
<p>它将首先测试字符串中是否没有<code>dog</code>。如果negative look ahead成功,那么它将继续匹配包含<code>cat</code>的字符串。您可能希望使用<code>(?i)</code>标志在其中启用忽略大小写。你知道吗</p>
<p>在python中,还可以使用<code>re.IGNORECASE</code>:</p>
<pre><code>>>> import re
>>> ignorecase = re.compile(r'(?i)(?!.*dog).*cat.*')
>>> print ignorecase.match("CatBlablablaDog")
None
>>>
>>> print ignorecase.match("blablaCatBlabla")
<_sre.SRE_Match object at 0x956b090>
>>>
>>> print ignorecase.match("Dog_blabla_Cat")
None
</code></pre>