擅长:python、mysql、java
<pre><code>[^.]*\.?[^.]*$
</code></pre>
<p>一定要<code>match</code>,不要<code>search</code></p>
<pre><code>>>> dot = re.compile("[^.]*\.[^.]*$")
>>> dot.match("fooooooooooooo.bar")
<_sre.SRE_Match object at 0xb7651838>
>>> dot.match("fooooooooooooo.bar.sad") is None
True
>>>
</code></pre>
<p><strong>编辑</strong>:</p>
<p>如果只考虑整数和小数,就更简单了:</p>
<pre><code>def valid(s):
return re.match('[0-9]+(\.[0-9]*)?$', s) is not None
assert valid("42")
assert valid("13.37")
assert valid("1.")
assert not valid("1.2.3.4")
assert not valid("abcd")
</code></pre>