题解 | #表示数值的字符串#

表示数值的字符串

https://www.nowcoder.com/practice/e69148f8528c4039ad89bb2546fd4ff8

import re

# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param str string字符串
# @return bool布尔型
#
class Solution:
    def isNumeric(self, str: str) -> bool:
        # write code here
        str = str.strip().lower()

        def is_decimal(str):
            matchObj = re.match(
                r"([+-]?([1-9]+[0-9]*|[0-9]?)\.[0-9]+)|([+-]?([1-9]+[0-9]*|[0-9])\.[0-9]*)",
                str,
            )
            if matchObj:
                if matchObj.group(0) == str:
                    return True
            return False

        def is_int(str):
            matchObj = re.match(r"[+-]?([1-9]+[0-9]*|[0-9])", str)
            if matchObj:
                if matchObj.group(0) == str:
                    return True
            return False

        def is_sci_notation_(str):
            matchObj = re.match(
                r"([+-]?([1-9][0-9]*|0))(\.)?([0-9]+)?(e[+-]?[0-9]+)?", str
            )
            if matchObj:
                if matchObj.group(0) == str:
                    return True
            return False

        if is_decimal(str) or is_int(str) or is_sci_notation_(str):
            return True
        else:
            return False

全部评论

相关推荐

11-24 11:23
门头沟学院 C++
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客717484937号:双飞硕没实习挺要命的
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务