擅长:python、mysql、java
<p>这看起来像是电话号码和分机信息。。
为什么不简化自己(以及以后需要阅读本文的人)并拆分输入,而不是使用复杂的regex?在</p>
<pre><code>s = '999-123-222-...-22&Ns=12'
parts = s.split('&Ns=') # splits on Ns and removes it
</code></pre>
<p>如果“&;”前面的部分是电话号码,则可以进行另一次拆分,并将区号等放入单独的字段中,如下所示:</p>
^{pr2}$
<p>可以使用字符串方法isdigit检查可选“&;Ns=”后找到的部分是否为数字,如果字符串中的所有字符都是数字并且至少有一个字符,则返回true;否则返回false。在</p>
<pre><code>if len(parts) > 1:
extra_digits_ok = parts[1].isdigit()
</code></pre>