<P> python <a href="https://docs.python.org/2/library/re.html#re.match" rel="nofollow">^{<cd1>}</a>与C++ STD中的^ {CD2>}不一样::ReGEX或java ^ {CD3>}方法,它只在字符串的<EM> Stest<EEM>中搜索匹配。你知道吗</p>
<blockquote>
<p>If zero or more characters at the beginning of string match the regular expression pattern, return a corresponding <code>MatchObject</code> instance. </p>
</blockquote>
<p>因此,要使与<code>ptr2</code>的匹配失败,如果使用<code>re.match</code></strong>,则<strong>正则表达式应该只在末尾有一个<code>$</code>(或<code>\Z</code>)锚点:</p>
<p>见<a href="http://ideone.com/m7pBUi" rel="nofollow">IDEONE demo</a>:</p>
<pre><code>import re
ptr2="hdjfhdjh@@@@"
str1=re.compile(r'[a-zA-Z0-9]+$')
if str1.match(ptr2):
print (" string matches %s",ptr2)
else:
print (" string not matches pattern %s",ptr2)
# => (' string not matches pattern %s', 'hdjfhdjh@@@@')
</code></pre>
<p>如果计划使用<strong><a href="https://docs.python.org/2/library/re.html#re.search" rel="nofollow">^{<cd8>}</a>,则需要同时使用<code>^</code>和<code>$</code>锚来要求<em>完整字符串匹配</em></strong>:</p>
<pre><code>import re
ptr2="hdjfhdjh@@@@"
str1=re.compile(r'^[a-zA-Z0-9]+$')
if str1.search(ptr2):
print (" string matches %s",ptr2)
else:
print (" string not matches pattern %s",ptr2)
</code></pre>
<p><a href="http://ideone.com/7axxTK" rel="nofollow">Another demo</a></p>