java 正则表达式 查找数字
正则表达式 查找数字
数字相关的常用语法:
\d | 数字字符匹配。等效于 [0-9]。 |
---|---|
\D | 非数字字符匹配。等效于 [^0-9]。 |
[xyz] | 字符集。匹配包含的任一字符。例如,"[abc]“匹配"plain"中的"a”。 |
[^xyz] | 反向字符集。匹配未包含的任何字符。例如,"[^abc]“匹配"plain"中"p”,“l”,“i”,“n”。 |
find 和 matches 的区别
find 是部分匹配,适合判断是否含有某些内容,比如字符中是否含有数字
matches 是全匹配,适合判断是否为数字或是字母
1,判断字符中是否有数字
表达式可以是 \d 或是 [0-9] 可能有多个加*
public static void main(String[] args) {String str2 = "1aa564sdfp5324";System.out.println("======= "+str2+" =========");hasDigit(str2);str2 = "234564";System.out.println("======= "+str2+" =========");hasDigit(str2);}public static boolean hasDigit(String content) {String regExp = "\\d+";regExp = "[0-9]*";Pattern pattern=Pattern.compile(regExp);Matcher m = pattern.matcher(content);System.out.println(" matches nums: " +m.matches());System.out.println(" find nums: " +m.find());return m.find();}
结果:
======= 1aa564sdfp5324 =========matches nums: falsefind nums: true
======= 234564 =========matches nums: truefind nums: true
2,提取字符串中的数字
表达式: [^0-9] 需要用到反向字符集,去掉非数字的。
public static void main(String[] args) {String str = "curStaff[25].staffName12";getContainsNum(str);}private static String getContainsNum(String str){String regExp="[^0-9]"; // 反向字符集。匹配未包含的数字,替换着里面的数字Pattern pattern = Pattern.compile(regExp);Matcher matcher = pattern.matcher(str);System.out.println("find "+matcher.find());String nums = matcher.replaceAll("").trim();System.out.println("nums "+nums);return nums;}
结果:
find true
nums 2512
这个例子中会有个问题,数字是获取了,但是糅合在一起了,一般会需要分开。
3,分开提取的数字
替换的时候使用特殊字符进行替换,然后再进行分割,进行大小判断
public static void main(String[] args) {String str = "curStaff[25].staff454Name12";getSplitNums(str);}private static String getSplitNums(String str){String regExp="[^0-9]"; // 反向字符集。匹配未包含的数字,替换着里面的数字Pattern pattern = Pattern.compile(regExp);Matcher matcher = pattern.matcher(str);List<String> strList = new ArrayList<>();// 用一个字符进行替换,逗号,空格或是特殊字符String nums = matcher.replaceAll(",").trim();//以逗号为分割符在讲数字存入一个字符串数组中String[] strArr = nums.split(",");System.out.println("nums "+nums);for (String single: strArr) {if(single.length() > 0){strList.add(single);}}System.out.println("result: "+strList.toString());return nums;}
总结:
使用正则表达式的时候,主要是对“正则表达式语法”要熟悉,使用的话,没有想法的话就网上查查,理解后,再实践操作一遍。
另外一种获取数字的方式 获取双引号里面的数字
java 正则表达式 查找数字相关推荐
- java正则表达式匹配数字范围_在java中怎么利用正则表达式匹配数字
在java中怎么利用正则表达式匹配数字 发布时间:2020-12-03 17:47:12 来源:亿速云 阅读:58 作者:Leah 在java中怎么利用正则表达式匹配数字?针对这个问题,这篇文章详细介 ...
- java 正则表达式 中文数字和字母_Java中过滤出字母、数字和中文的正则表达式 | 学步园...
1.Java中过滤出字母.数字和中文的正则表达式 (1)过滤出字母的正则表达式 [^(A-Za-z)] (2)过滤出数字的正则表达式 [^(0-9)] (3)过滤出中文的正则表达式 [^(\\u4e0 ...
- java 正则表达式匹配数字_java正则表达式匹配所有数字的案例
用于匹配的正则表达式为 :([1-9]\d*\.?\d*)|(0\.\d*[1-9]) ( [1-9] :匹配1~9的数字: \d :匹配数字,包括0~9: * :紧跟在 \d 之后,表明可以匹配零个 ...
- java 正则表达式 中文数字和字母_Java中过滤出字母、数字和中文的正则表达式...
1.Java中过滤出字母.数字和中文的正则表达式 (1)过滤出字母的正则表达式 [^(A-Za-z)] (2)过滤出数字的正则表达式 [^(0-9)] (3)过滤出中文的正则表达式 [^(\\u4e0 ...
- Java正则表达式校验数字、字母及特殊字符
一.校验数字的表达式 1.数字:^[0-9]*$ 2.n位的数字:^\d{n}$ 3.至少n位的数字:^\d{n,}$ 4.m-n位的数字:^\d{m,n}$ 5.零和非零开头的数字:^(0|[1-9 ...
- java正则表达式 字母数字下划线_字母数字下划线常用正则表达式
1.由数字.26个英文字母或者下划线组成的字符串: ^[0-9a-zA-Z_]{1,}$ 2.非负整数(正整数 + 0 ): ^/d+$ 3. 正整数: ^[0-9]*[1-9][0-9]*$ 4.非 ...
- java正则表达式匹配数字和小数点,快来收藏!
1.为什么要使用分布式锁 使用分布式锁的目的,无外乎就是保证同一时间只有一个客户端可以对共享资源进行操作. 1.1举一个很长的例子 系统 A 是一个电商系统,目前是一台机器部署,系统中有一个用户下订单 ...
- Java正则表达式过滤出字母、数字和中文
Java中过滤出字母.数字和中文的正则表达式 过滤出字母的正则表达式 [^(A-Za-z)] 过滤出 数字 的正则表达式 [^(0-9)] 过滤出 中文 的正则表达式 [^(\\u4e00-\\u9f ...
- Java 字符串的数字校验:isNumeric,isNumericSpace和正则表达式,对比分析
导读 数字类型的判断是项目里常见的场景,相比一大串的非空,instanceof 以及大于小于0的判断,我更倾向于使用工具类 StringUtils 或者 正则表达式 来实现功能,追求代码的简洁和高效. ...
最新文章
- 采集音频和摄像头视频并实时H264编码及AAC编码
- jquery生成一个li_JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
- Webpack vs Rollup
- 计算机网络查看路由表命令,如何查看、添加、修改、删除路由器内部的路由表项?...
- SpringMVC学习(五)——零配置实现SpringMVC
- 辛星浅谈PHP的混乱的编码风格
- 使用Angular依赖注入自定义SAP Spartacus的ProductAdapter
- 模电这么学,谁还会说不懂晶体管?
- UOJ #188. 【UR #13】Sanrd
- wxpython textctrl_wxPython TextCtrl类
- linux expect自动登录ssh,ftp
- PDFEdit编辑器使用教程为PDF增加封面
- 企业物流管理与最新IT技术
- 支付宝木马安卓短信窃取者分析
- C语言基础知识(学习笔记)
- 阿里云AI解决方案-身份证图像识别
- 微信小程序实现多页面
- 剪映专业版 for Mac(视频剪辑工具)
- 《天天数学》连载54:二月二十三日
- Kibana快速上手
热门文章
- 荣耀手机无法升级鸿蒙,荣耀手机不能升级鸿蒙了?博主给出升级名单
- php sg11加密方式,SG11加密使用、安装配置说明|技术文章|php源码加密|www.PhpJiaMi.com...
- JS 获取String转数组
- 前端基础-CSS(ps简单操作)
- Windows系统给文件加上备注信息
- 验证码识别多账号微博自动模拟登录
- js宏编程--wps开放平台介绍
- 2022无线蓝牙耳机哪个牌子好?无线蓝牙耳机排行榜
- 点缀精致生活 玻璃花瓶下的家居微景观
- 国内脑机接口最新研究 - 脑控机器人在非结构化场景执行避障任务