擅长:python、mysql、java
<p>由于分组的要求,我不认为正则表达式是合适的工具。我建议如下:</p>
<pre><code>in_str = "12456 t0 45 54 # 36478 t04 # 37489 to4 # 83940 to5 + 63748 nn 00 +374840 bb 009 + 144839 op 45"
parts = in_str.split()
first = None
got_hash = False
hashes = []
got_plus = False
pluses = []
for part in parts:
if first is None:
first = int(part)
elif part == "#":
got_hash = True
elif part == "+":
got_plus = True
elif got_hash:
hashes.append(int(part))
got_hash = False
elif got_plus:
pluses.append(int(part))
got_plus = False
print ((first, hashes, pluses))
</code></pre>
<p>请注意,由于缺少空格,这不会打印<code>375840</code></p>