LLancelot / LeetCode

✍️ My LeetCode solutions, ideas and templates sharing. (我的LeetCode题解,思路以及各专题的解题模板分享。分专题归纳,见tag)
https://leetcode.com/lancelot_/
163 stars 40 forks source link

65. Valid Number (正则表达式) #16

Open LLancelot opened 4 years ago

LLancelot commented 4 years ago

Validate if a given string can be interpreted as a decimal number.

Some examples: "0" => true " 0.1 " => true "abc" => false "1 a" => false "2e10" => true " -90e3 " => true " 1e" => false "e3" => false " 6e-1" => true " 99e2.5 " => false "53.5e93" => true " --6 " => false "-+3" => false "95a54e53" => false

Note: It is intended for the problem statement to be ambiguous. You should gather all requirements up front before implementing one. However, here is a list of characters that can be in a valid decimal number:

Of course, the context of these characters also matters in the input.

代码

class Solution:
    def isNumber(self, s: str) -> bool:
        return re.match(r'^\s*[+|\-]?(\.\d+|\d+(\.\d*)?)(e[\+|\-]?\d+)?\s*$', s)