擅长:python、mysql、java
<p>这个正则表达式怎么样:</p>
<pre><code>import re
header = re.sub("(?<==)[^;]* [^;]*", r'"\g<0>"', header)
</code></pre>
<p>这将在<code>=</code>之后的任何内容周围插入引号,直到下一个<code>;</code>(或字符串结尾),但前提是中间至少有一个空格。你知道吗</p>
<pre><code>>>> header = 'test=a b c; Path=/; Expires=a b c; HttpOnly'
>>> re.sub("(?<==)[^;]* [^;]*", r'"\g<0>"', header)
'test="a b c"; Path=/; Expires="a b c"; HttpOnly'
>>> header = "workgroup_session_id=ilDJtR0rE1AG28C9ZxKLHj8TBtcT89sw; Path=/; Expires=Sun, 02-Dec-2012 5:57:25 GMT; HttpOnly"
>>> re.sub("(?<==)[^;]* [^;]*", r'"\g<0>"', header)
'workgroup_session_id=ilDJtR0rE1AG28C9ZxKLHj8TBtcT89sw; Path=/; Expires="Sun, 02-Dec-2012 5:57:25 GMT"; HttpOnly'
</code></pre>