leetcode 65. 有效数字(正则表达式)
题目
有效数字(按顺序)可以分成以下几个部分:
一个 小数 或者 整数
(可选)一个 ‘e’ 或 ‘E’ ,后面跟着一个 整数
小数(按顺序)可以分成以下几个部分:(可选)一个符号字符(’+’ 或 ‘-’)
下述格式之一:
至少一位数字,后面跟着一个点 ‘.’
至少一位数字,后面跟着一个点 ‘.’ ,后面再跟着至少一位数字
一个点 ‘.’ ,后面跟着至少一位数字
整数(按顺序)可以分成以下几个部分:(可选)一个符号字符(’+’ 或 ‘-’)
至少一位数字
部分有效数字列举如下:[“2”, “0089”, “-0.1”, “+3.14”, “4.”, “-.9”, “2e10”, “-90E3”, “3e+7”, “+6e-1”, “53.5e93”, “-123.456e789”]
部分无效数字列举如下:[“abc”, “1a”, “1e”, “e3”, “99e2.5”, “–6”, “-+3”, “95a54e53”]
给你一个字符串 s ,如果 s 是一个 有效数字 ,请返回 true 。示例 1:
输入:s = “0”
输出:true
- 示例 2:
输入:s = “e”
输出:false
- 示例 3:
输入:s = “.”
输出:false
- 示例 4:
输入:s = “.1”
输出:true
提示:
- 1 <= s.length <= 20
- s 仅含英文字母(大写和小写),数字(0-9),加号 ‘+’ ,减号 ‘-’ ,或者点 ‘.’ 。
解题思路
有效数字主要由下面几部分组成(括号表示可选内容)
(+/-) 整数(.整数) (e (+/-) 整数)
使用的正则表达式表示
- 中括号[]:只有方括号里面指定的字符才参与匹配,也只能匹配单个字符。
表达式:t[abcd]n 只可以匹配:tan,tbn,tcn,tdn。不可以匹配:thn,tabn,tn等。
- | 符号。相当与“或”,可以匹配指定的字符,但是也只能选择其中一项进行匹配。
表达式:t(a|b|c|dd)n 只可以匹配:tan,tbn,tcn,tddn。不可以匹配taan,tn,tabcn等。
匹配的正则表达式如下图所示
代码
class Solution {public boolean isNumber(String s) {String reg="^[+|-]?(([0-9]+\\.[0-9]*)|([0-9]*\\.[0-9]+)|([0-9]+))([e|E][+|-]?[0-9]+)?$";return s.matches(reg);}
}
leetcode 65. 有效数字(正则表达式)相关推荐
- Java实现 LeetCode 65 有效数字
65. 有效数字 验证给定的字符串是否可以解释为十进制数字. 例如: "0" => true " 0.1 " => true "abc&q ...
- [LeetCode]65. 有效数字
65. 有效数字 难度:困难 有效数字(按顺序)可以分成以下几个部分: 一个 小数 或者 整数 (可选)一个 'e' 或 'E' ,后面跟着一个 整数 小数(按顺序)可以分成以下几个部分: (可选)一 ...
- LeetCode - #65 有效数字
前言 我们社区陆续会将顾毅(Netflix 增长黑客,<iOS 面试之道>作者,ACE 职业健身教练.)的 Swift 算法题题解整理为文字版以方便大家学习与阅读. LeetCode 算法 ...
- LeetCode 65. 有效数字(逻辑题,难)
1. 题目 验证给定的字符串是否可以解释为十进制数字. 例如: "0" => true " 0.1 " => true "abc" ...
- 【To Do! 重点 正则表达式】LeetCode 65. Valid Number
LeetCode 65. Valid Number 本博客转载自:[1]http://www.cnblogs.com/yuzhangcmu/p/4060348.html [2]https://blog ...
- LeetCode 64最小路径和65有效数字66加一
原创公众号:bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 关注后回复进群即可加入力扣打卡群,欢迎划水.近期打卡: LeetCode打卡 52八皇后Ⅱ&53最大子序和& ...
- 刻意练习:LeetCode实战 -- Task18. 正则表达式匹配
背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法(Leetcode)刻意练习训练营 的打卡任务.本期训练营采用分类别练习的模式,即选择了五个知识点(数组.链表.字符串.树.贪心算法),每个知 ...
- LeetCode【9-- 回文数】LeetCode【10 --正则表达式的匹配】
回文数 题目描述 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 解题思路 判断该数的逆序数是不是和原数相同 代码实现 class Solution {pub ...
- 最常用的65条正则表达式
一.校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1-9 ...
最新文章
- 使用rancher对Docker容器服务升级
- oracle11g开启1158,1、Oracle11g中浏览器访问不了http://localhost:1158/em的问题
- 谁在“唱衰”OpenStack?
- c#v2.0 扩展特性 翻译(1)
- keras冻结_【连载】深度学习第22讲:搭建一个基于keras的迁移学习花朵识别系统(附数据)...
- java标识符与关键字_4、Java标识符和关键字
- 【小白学习Keras教程】四、Keras基于数字数据集建立基础的CNN模型
- 看得懂的外观设计模式 python3 实现
- Python读取PDF
- sqlmap 用户手册(续)
- 最短路径(dijistra和floyd算法)
- acm 算法 java_【经验总结】Java在ACM算法竞赛编程中易错点
- android linux 双系统实现(android+buster)同时运行
- 树莓派CM4基于emmc安装Ubuntu系统及初始配置
- phpstudy 本地配置url重写
- php 每天的凌晨三点,无论几点睡,凌晨3.4点总会醒?4个原因,得懂得先排除
- 零知识证明学习资源汇总
- 托雷多——伯爵死于旧日皇城(我们的两牙游
- 事件抽取中的“门面技术”:事件名称生成浅谈
- 考研英语一复习经验帖【干货】
热门文章
- linux网络编程(三)select、poll和epoll
- QT事件事件之一:Qt中的事件处理与传递
- 信号捕捉(signal、sigaction)
- java停车场管理系统程序设计代码_社区养老服务管理系统,java程序设计
- 淘淘商城之技术选型、开发工具和环境、人员配置
- array_walk与array_map的区别
- python DB.fetchall()--获取数据库所有记录列表
- Redis源码解析:21sentinel(二)定期发送消息、检测主观下线
- 2015/12/15--Document对象
- 隐藏Content-Location标头带的内部IP地址的执行语句以及其可能会带来的问题