记录缘由:

  公司项目需要从xml中获取标识为NUMBER的字符串,将之存入数据库中,存入的列的类型即为NUMBER。当遇到非数字时,原实现是通过异常:

String plainValue = null;
try {
plainValue = new BigDecimal(colValue).toPlainString();
} catch (Exception e) {
plainValue = "";
}

  没有去研究过BigDecimal(String)这个构造方法的内部实现,得空去研究一下。只是觉得无必要还是尽量不利用异常去做逻辑处理,所以这里用正则表达式实现:

private static final String NUMBER_REGEX = "([0-9]\\d*\\.?\\d*)|((-)?[0-9]\\d*\\.?\\d*)";

public static boolean matcher(String value) {
Matcher matcher = pattern.matcher(value);
return matcher.matches();
} public String getTransferValue(String colValue){
  String plainValue = matcher(colValue) ? colValue : "";
return plainValue;
}

  以上。小白一个,欢迎指正!

Java正则表达式-匹配正负浮点数的更多相关文章

  1. Java正则表达式匹配例子

    Java正则表达式匹配例子 package com.ibm.test; import java.util.regex.Matcher; import java.util.regex.Pattern; ...

  2. JAVA正则表达式匹配,替换,查找,切割(转)

    import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; public c ...

  3. java正则表达式匹配文本中想要的字符串

    需求:获取一个本地文件中所有符合 $[MAKE_PACKAGE] 格式的字符串,并输出到另一个文件中. public static void main(String[] args) throws Ex ...

  4. Java 正则表达式匹配模式[贪婪型、勉强型、占有型]

    Greediness(贪婪型):最大匹配 X?.X*.X+.X{n,} 是最大匹配.例如你要用 “<.+>” 去匹配 “a<tr>aava </tr>abb”,也许 ...

  5. idea java 正则表达式匹配替换

    原文匹配中文 excelMap.get\((\"[\u4E00-\u9F15]+\")\) 目标 excelMap.get\($1.hashCode\(\)\)

  6. java正则表达式匹配字符

    假设要匹配${2}中间为数字的这个类型的变量String,则 Pattern p = Pattern.compile("\\$\\{\\d+\\}"); Matcher m = p ...

  7. java 正则表达式匹配字符串

    private static List<String> getImage(String str){ List<String> tmp=new ArrayList<Stri ...

  8. python 正则表达式匹配特定浮点数

    def is_decimal(num): import re #以数字开头,小数点后保留1位数字或两位数字或者没有小数部分 dnumre = re.compile(r""" ...

  9. JAVA正则表达式中如何匹配反斜杠 \

    有时候我们需要匹配反斜杠,你可能会把对应的正则表达式写成 "\\" 然后可能会有如下输出: Exception in thread "main" java.ut ...

随机推荐

  1. 我的CSS3学习笔记

    1.元字符使用: []: 全部可选项 ||:并列 |:多选一 ?: 0个或者一个 *:0个或者多个 {}: 范围 2.CSS3属性选择器: E[attr]:存在attr属性即可: E[attr=val ...

  2. javascript 面试题之一

    function setName(obj){ obj.name="tom"; obj=new Object(); obj.name="mike"; } var ...

  3. Alpha冲刺(七)

    Information: 队名:彳艮彳亍团队组长博客:戳我进入作业博客:班级博客本次作业的链接 Details: 组员1(组长)柯奇豪 过去两天完成了哪些任务 改用更易用的springboot+myb ...

  4. MySQL查询表内重复记录并删除

    在日常业务场景中,经常会出现一个问题就是解决数据重复的问题,这里用到了一张用户表(s_user)做重复数据操作,分别包含了两个字段,id.name分别用于做唯一标示以及相同姓名的检索. 表结构以及测试 ...

  5. 【targeting学习笔记】Display Advertising Targeting

    背景:stanford的计算广告学(computational advertising)课程,yahoo的人主讲,课程链接:http://www.stanford.edu/class/msande23 ...

  6. PyCharm可用Active Code分享

    目前可用,不保证更新!请及时取用. 6YQUPH9R7H-eyJsaWNlbnNlSWQiOiI2WVFVUEg5UjdIIiwibGljZW5zZWVOYW1lIjoi5o6I5p2D5Luj55C ...

  7. MySQL语句基础

    该笔记使用的数据库为MySQL-5.6.34,使用的建表语句为 : /* Navicat MySQL Data Transfer Source Server : 127.0.0.1 Source Se ...

  8. Android-ListView-CursorAdapter

    在上篇博客,Android-ListView-SimpleCursorAdapter,中介绍了SimpleCurosrAdapter的使用操作(SimpleCursorAdapter是简单便捷Curs ...

  9. Android-什么时候用ScrollView

    什么时候用 ScrollView ? 答:像以下这种情况,就是使用ScrollView: 摆放无顺序,无规律,并会超出屏幕的高度,就可以用ScrollView 错误的ScrollView示范,Scro ...

  10. Spring.NET 整合Nhibernate

    因为最近无意中学了AOP ,所以想一探究竟,看看.net里这个Spring.Net 到底是怎么回事,请有需要的童鞋往下,不需要的请alt+w.因为是先配置的 Nhibernate 所以就从这个开始.开 ...