擅长:python、mysql、java
<p>使用原始字符串:</p>
<pre><code>>>> re.findall("(.+?)\1+", "FFFFFFF")
[]
>>> re.findall(r"(.+?)\1+", "FFFFFFF")
['F']
>>>
</code></pre>
<p>原始字符串文字,即前缀为<code>'r'</code>的字符串文字,使反斜杠被视为文字。反斜杠被视为转义序列。你知道吗</p>
<p>引用<a href="https://docs.python.org/2/library/re.html" rel="nofollow">^{<cd2>} — Regular expression operations</a>:</p>
<blockquote>
<p>Regular expressions use the backslash character (<code>'\'</code>) to indicate
special forms or to allow special characters to be used without
invoking their special meaning. ...</p>
<p>The solution is to use Python’s raw string notation for regular
expression patterns; backslashes are not handled in any special way in
a string literal prefixed with <code>'r'</code>. So <code>r"\n"</code> is a two-character string
containing <code>'\'</code> and <code>'n'</code>, while <code>"\n"</code> is a one-character string
containing a newline. Usually patterns will be expressed in Python
code using this raw string notation.</p>
</blockquote>