擅长:python、mysql、java
<p>这对于正则表达式来说是很棘手的,因为数字的语法可以包含非数字。E、 g.,<code>3.8e8</code>是一个合法的数字,但是有一个<code>.</code>和一个<code>e</code>:</p>
<pre><code>>>> 3.8e8
380000000.0
</code></pre>
<p>这意味着带有<code>\d</code>的正则表达式将不起作用:</p>
^{pr2}$
<p>最好是将逗号上的字符串拆分,然后删除括号:</p>
<pre><code>>>> def coords(string):
... x, _, y = string.partition(',')
... return x.lstrip('('), y.rstrip(')')
...
>>> coords('(123,456)')
('123', '456')
</code></pre>
<p>当然,这也很脆弱,因为那里可能有空白,等等。如果你没有一个具体的说明什么是合法的,什么是不合法的,那就很难处理输入。在</p>
<p>但是,如果您希望它是合法的Python输入,那么最好只使用文本值\u eval,如<a href="https://stackoverflow.com/a/28637986/1281433">another answer</a>中所建议的那样。在</p>