擅长:python、mysql、java
<p>RevanProdigalKnight的答案几乎是正确的,但是当3个或更多的偶数/奇数出现在一起时,这个答案就失败了。在</p>
<p>使用regex进行此操作的正确方法是使用肯定的lookahead(使用?=). 在</p>
<pre><code>def insert_right_way(num):
#your code here
num_str = str(num)
num_str = re.sub(r'([13579])(?=[13579])', r'\1-', num_str)
num_str = re.sub(r'([02468])(?=[02468])', r'\1*', num_str)
return num_str
def DashInsertII(num):
num_str = str(num)
num_str = re.sub(r'([02468])([02468])',r'\1*\2',num_str)
num_str = re.sub(r'([13579])([13579])',r'\1-\2',num_str)
return num_str
print insert_right_way(234467776667888)
print DashInsertII(234467776667888)
</code></pre>
<p>这将产生:</p>
^{pr2}$