java正则表达式匹配数字范围_在java中怎么利用正则表达式匹配数字

java正则表达式匹配数字范围_在java中怎么利用正则表达式匹配数字在java中怎么利用正则表达式匹配数字发布时间:2020-12-0317:47:12来源:亿速云阅读:58作者:Leah在java中怎么利用正则表达式匹配数字?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。用于匹配的正则表达式为:([1-9]\d*\.?\d*)|(0\.\d*[1-9])([1-9]:匹配1~9的数字;\d…

大家好,又见面了,我是你们的朋友全栈君。

在java中怎么利用正则表达式匹配数字

发布时间:2020-12-03 17:47:12

来源:亿速云

阅读:58

作者:Leah

在java中怎么利用正则表达式匹配数字?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

用于匹配的正则表达式为 :([1-9]\d*\.?\d*)|(0\.\d*[1-9])(

[1-9] :匹配1~9的数字;

\d :匹配数字,包括0~9;

* :紧跟在 \d 之后,表明可以匹配零个及多个数字;

\. :匹配小数点;

? :紧跟在 \. 之后,表明可以匹配零个或一个小数点;

0 :匹配一个数字0;

)

其中的 [1-9]\d*\.?\d* 用以匹配诸如:1、23、34.0、56.78 之类的非负的整数和浮点数;

其中的 0\.\d*[1-9] 用以匹配诸如:0.1、0.23、0.405 之类的非负浮点数;

private List

GetTmpFieldsList(List

FieldsList,String tmptableName,String IndexName) {

List

maps = new ArrayList<>();

for(String field :FieldsList){

//必须包含传入的标识符,同时要包含数字

if(field.toLowerCase().contains(tmptableName.toLowerCase())){

FieldList e = new FieldList();

String [] fieldArray = field.split(“\\.”);//带数字的string

field = field.replaceAll(“\\_?\\d+”, “”); //去掉下划线加数字 得有效的物理名

String [] fieldArray2 = field.split(“\\.”); //不带数字的string

Pattern p = Pattern.compile(“\\d+”); //得到字符串中的数字

Matcher m = p.matcher(fieldArray[1]);

if(m.find()){

int key = Integer.parseInt(m.group());

e.setCaseValue(key);

if(StringUtils.isEqual(fieldArray2[1], IndexName)){ //for BAT203

e.setField(“CHECK_POSITION”); //項目物理名

}else{

e.setField(fieldArray2[1]); //項目物理名

}

e.setFieldName(fieldArray[1]); //項目物理名別名

maps.add(e);

}

/**else{ 只有后面带数字的才可以

if(StringUtils.isEqual(fieldArray2[1],IndexName)){ //for BAT203

e.setField(“CHECK_POSITION”); //項目物理名

}else{

e.setField(fieldArray2[1]);

}

e.setFieldName(fieldArray[1]);

maps.add(e);

}**/

}

}

//Add ACE商品マスタ.更新フラグ

return maps;

}

补充知识:关于fasterxml-jackson发生Can not deserialize instance of异常原因验证

这两天线上有大量的java.lang.IllegalArgumentException: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token

at [Source: N/A; line: -1, column: -1]错误发生。

有经验的人一看,就知道是对象属性转换发生异常了。为了把这个错误的根本原因找到。

只能上代码模拟了。

/**

* Created by changle on 17/1/9.

*/

@Slf4j

public class JSONTest {

public static void main(String[] args) {

testAtoB();

//testAtoB() 发生:Can not deserialize instance of com.test.JSONTest$Hobby out of START_ARRAY token

testBtoA();

//testBtoA() 发生:Can not deserialize instance of java.util.ArrayList out of START_OBJECT token

}

public static void testAtoB(){

List hobbies = new ArrayList<>();

Random random = new Random();

for(int i=0;i<3;i++){

Hobby hobby = new Hobby(random.nextInt(),”测试名称”,”测试类型”,random.nextInt(100));

hobbies.add(hobby);

}

StudentA studentA = new StudentA();

studentA.setAge(23);

studentA.setFromCity(true);

studentA.setMoney(3000);

studentA.setName(“张三”);

studentA.setHobbies(hobbies);

try {

String str = JSON.json(studentA);

log.info(“str={}”,str);

//list转换单个projo

StudentB studentB = JsonUtil.jsonObject(str, StudentB.class);

log.info(“studentB.name:{}”,studentB.getName());

} catch (Exception e) {

e.printStackTrace();

}

}

public static void testBtoA(){

Random random = new Random();

Hobby hobby = new Hobby(random.nextInt(), “测试名称”, “测试类型”, random.nextInt(100));

StudentB studentB2 = new StudentB();

studentB2.setAge(23);

studentB2.setFromCity(true);

studentB2.setMoney(3000);

studentB2.setName(“张三”);

studentB2.setHobbies(hobby);

String str2 = null;

try {

str2 = JSON.json(studentB2);

//单个projo转换list

StudentA studentA2 = JsonUtil.jsonObject(str2, StudentA.class);

log.info(“studentB.name:{}”, studentA2 == null ? “” : studentA2.getName());

} catch (IOException e) {

e.printStackTrace();

}

}

@Data

public static class StudentA{

private String name;

private int age;

private long money;

private boolean isFromCity;

private List hobbies;

}

@Data

public static class StudentB{

private String name;

private int age;

private long money;

private boolean isFromCity;

private Hobby hobbies;

}

@Data

public static class Hobby{

private long hId;

private String hName;

private String type;

private int score;

public Hobby(){}

public Hobby(long hId,String hName,String type,int score){

this.hId = hId;

this.hName = hName;

this.type = type;

this.score = score;

}

}

}

486.jpg

487.jpg

结论:Can not deserialize instance of java.util.ArrayList out of START_OBJECT token

该错误是因为目标类属性keyX需要ArrayList类型的,待转换的json串里属性名keyX对应的,不是一个ArrayList集合,而是单个 POJO。Can not deserialize instance of com.test.JSONTest$Hobby out of START_ARRAY token

该错误是因为目标类属性keyX需要JSONTest$Hobby类型的,待转换的json串里属性名keyX对应的,不是一个POJO对象,而是ArrayList集合。

关于在java中怎么利用正则表达式匹配数字问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151700.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Stimulsoft.Report的代码实现功能自学整理(一)「建议收藏」

    Stimulsoft.Report的代码实现功能自学整理(一)「建议收藏」一、编译环境VisualStudio2017,Win764位,Stimulsoft版本2016.1.0.0。二、报表环境的汉化(代码实现)安装完Stimulsoft后,在路径下C:\ProgramFiles(x86)\StimulsoftReports.Net2016.1Trial\Localization中会发现很多xml文件,这些文…

    2022年7月26日
    21
  • python压缩文件夹为zip_python 压缩文件

    python压缩文件夹为zip_python 压缩文件本文仅供学习交流使用,如侵立删!联系方式及demo下载见文末zipfile压缩文件夹defzipDir(self,dirpath,outFullName):”””压缩指定文件夹:paramdirpath:目标文件夹路径:paramoutFullName:压缩文件保存路径+xxxx.zip:return:无”””zip=zipf

    2025年12月15日
    3
  • 大数据开发是干什么的?[通俗易懂]

    大数据开发是干什么的?[通俗易懂]据数联寻英发布《大数据人才报告》显示,目前全国的大数据人才仅46万,未来3-5年内大数据人才的缺口将高达150万,越来越多人加入到大数据培训,都希望在大数据培训机构中学习最前沿的知识,找一份不错的工作。大数据开发工程师主要负责的工作有以下内容:1.负责公司大数据平台的开发和维护,负责大数据平台持续集成相关工具平台的架构设计与产品开发等工作;2.主要从事网络日志的大数据分析工作,包括…

    2022年5月9日
    54
  • Java 流程控制

    Java 流程控制

    2021年10月6日
    45
  • Java单例模式以及其实现

    Java单例模式以及其实现单例模式单例模式(SingletonPattern)是Java中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。简单来说就是类只能创建唯一一个对象实现要求:(1)构造器私有化:指用private修饰构造器,使得外部无法调用构造器,使得类外部方法无法创建该类对象(2)自行创建对象,静态

    2022年7月8日
    19
  • CentOS搭建Git服务器及权限管理

    CentOS搭建Git服务器及权限管理

    2021年10月23日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号