表示数值的字符串【Java版】

表示数值的字符串

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

方法:正则匹配
我这个能通过100%的样例!!

public class Solution {
    public boolean isNumeric (String str) {
        return str.matches("[+-]?((\\d+(\\.\\d+)?)|(\\.\\d+))([Ee][+-]?\\d+)?"); //一行搞定!!
    }
}

ps:比较死板的规则可以用正则化表达式,如果过于复杂就要写if else for的语句了

正则表达式专题总结:

正则表达式:
[] 表示并列选其一;() 表示同时全都要;(下面三个可修饰这两种括号)
? 表示0次/1次
+表示1次-多次
*表示0次-多次
. 匹配除换行符 \n 之外的任何单字符。要匹配 . 请使用 \\.
| 或
\\d 表示[0-9], 需要字母直接写d表示'd';
\\w 匹配字母、数字、下划线。等价于 [A-Za-z0-9_]
\\s 是匹配所有空白符,相当于[\r \t \n \f ]。
标点符号如:+ - * / . 等都要反斜杠\\来转义
^表示开头 方括号里 ^ 表示"非"
$表示结尾

《剑指Offer-Java题解》 文章被收录于专栏

《剑指Offer-Java题解》

全部评论

相关推荐

活泼的柠檬精:简历问题有点多,加v细聊
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务