【java】正则表达式
参考文章:菜鸟
正则表达式
定义
正则表达式定义了字符串的模式
可以用来搜索、编辑或处理文本
并不限于某一种语言,但是每种语言中有细微的差别
分类
常用
分类 | 解释 | 示例 | 示例解释 | 备注 |
---|---|---|---|---|
普通字符串 | 匹配相等的字符串 | hello world | 匹配“hello world” | 全部匹配 |
. (点号) | 匹配任意一个字符;只能是一个字符 | . | “a”,“1” … | 只能是一个字符串 |
\s+ | 匹配一个或多个空格 | \s+ | “ ”,“ ” | 注意转义 |
^ | 规定以何种字符串开始 | ^123 | 只使用"^"时,表示全匹配。 | |
\d | 匹配一个数字 | \d | 匹配一个数字 | 范围[0~9] |
\d+ | 匹配一个或多个数字 | \d+ | 匹配一位或多位数字 | |
? | 设置括号内选项可选 | ^\d+(.\d+)? | 以整数开始,可以跟小数如 123,1.567 | 括号中的内容规定了整数后面可以加的类型,如本例中,’123java‘为非法内容 |
. | 匹配“.”(点号) | ^\d+(.\d+)? | 以整数开始,可以跟小数 |
代码实践
public class RegexDemo {public static void main(String[] args) {example01(".*com.*","I am the one from com.org."); // trueexample01(".","a"); // trueexample01(".","4"); // trueexample01("\\s+",""); // falseexample01("\\s+"," "); // trueexample01("\\s+"," "); // trueexample01("^123","123"); // trueexample01("^123","1234"); // falseexample01("\\d","1"); // trueexample01("\\d+","1132"); // falseexample01("^\\d+(\\.\\d+)?","123"); // trueexample01("^\\d+(\\.\\d+)?","123.2556"); // true}/**** @param pattern* @param content*/public static void example01(String pattern,String content) {// 是否匹配boolean isMatch = Pattern.matches(pattern,content);System.out.println("pattern: "+pattern);System.out.println("content: "+content);System.out.println("result: "+isMatch);System.out.println("========分割线========");}
}
结果:
pattern: .*com.*
content: I am the one from com.org.
result: true
========分割线========
pattern: .
content: a
result: true
========分割线========
pattern: .
content: 4
result: true
========分割线========
pattern: \s+
content:
result: false
========分割线========
pattern: \s+
content:
result: true
========分割线========
pattern: \s+
content:
result: true
========分割线========
pattern: ^123
content: 123
result: true
========分割线========
pattern: ^123
content: 1234
result: false
========分割线========
pattern: \d
content: 1
result: true
========分割线========
pattern: \d+
content: 1132
result: true
========分割线========
pattern: ^\d+(\.\d+)?
content: 123
result: true
========分割线========
pattern: ^\d+(\.\d+)?
content: 123java
result: false
========分割线========
pattern: ^\d+(\.\d+)?
content: 123.2556
result: true
========分割线========
【java】正则表达式相关推荐
- java正则表达式课程_通过此免费课程学习正则表达式
java正则表达式课程 by Beau Carnes 通过博卡恩斯 通过此免费课程学习正则表达式 (Learn Regular Expressions with this free course) & ...
- java正则表达式 1,Java正则表达式学习(1)
Java正则表达式学习(一) 1.什么是正则表达式: 正则表达式(regular expressions) 是一种描述字符串集的方法,它是以字符串集中各种字符串的公有特征为依据的. 正则表达式可以用于 ...
- 孪生素数 java代码_科学网—孪生素数猜想——利用 Java + 正则表达式 输出孪生素数对 - 马廷灿的博文...
查了一下资料,发现正则表达式竟然可以用来检查素数(http://coolshell.cn/articles/2704.html)!(由于工作需要,几年前开始接触.利用正则表达式,给工作带了很大方便,也 ...
- java正则表达式的用法_Java 正则表达式的使用
Java 正则表达式的使用 1:正则表达式语法大全 字符 说明 \ 将下一字符标记为特殊字符.文本.反向引用或八进制转义符.例如,"n"匹配字符"n".&quo ...
- Java正则表达式--Matcher.group函数的用法
https://www.cnblogs.com/jiafuwei/p/6080984.html Java正则表达式--Matcher.group函数的用法 原来,group是针对()来说的,group ...
- java 正则表达式入门(一)
Java正则表达式 定义:具有特定规则的一种表达式语言. 作用:专门用于操作字符串,操作意味着(校验,截取).且可以简化我们对字符串的操作方式 比如,验证手机号码 如果没有正则表达式我们的过程就应该是 ...
- bigint对应java什么类型_「JAVA」从格式化输出到扫描输入,深究Java正则表达式匹配之道
字符串是不可变的 字符串是不可变的,也就是说当字符串的内容发生改变的时候,会创建一个新的String对象:但是如果内容没有发生改变的时候,String类的方法会返回原字符串对象的引用. 而正则表达式往 ...
- Java 正则表达式使用详解
今天研究开源项目,哆啦A梦,研究里面显示log 的原理. 后来发现,用到了正则表达式.觉得很有用,就捡起来,重新研究一下. 学习思路指导: 每一门学问,最好的深入学习方法,是去其官网,研究其说明文档. ...
- java正则表达式 过滤特殊字符的正则表达式
在网上找了好久也没找到个合适的正则表达式以过滤特殊字符:自己学习了下,写了两个,实现要求. Java代码 // 过滤特殊字符 public static String StringFilter(Str ...
- JAVA正则表达式:Pattern类与Matcher类详解(转)
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包.它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表 ...
最新文章
- 扩展JavaScript的时候,千万要保留其原来的所有功能
- 装鸡蛋的鞋子java代码_Java实现 LeetCode 887 鸡蛋掉落(动态规划,谷歌面试题,蓝桥杯真题)...
- 文件传输:二进制文件传输与文本传输(file transfer)
- Jupyter Notebook 快速入门简易教程
- 框架:Servlet的生命周期
- 中国首个海底数据中心样机测试数据揭晓,达世界先进能效水平
- 【杂谈】手把手带你配置深度学习环境
- JS设计模式三:策略模式
- Chrome保存mht网页文件的方法 – 无需任何插件,完美!
- 这脑洞绝了!中美合拍动画《哪吒与变形金刚》来了
- 首次运行 tensorflow 项目之 vgg 网络
- 送你一份计算机视觉精品学习资料,学完拿高薪offer!
- 小议jQuery插件开发
- 单片机跑马灯代码示例
- C语言的输出对齐应用
- matplotlib画图使用微软雅黑字体
- 阿里云对象存储OSS收费标准(很详细一看就懂)
- 广西建工OA系统office插件显示问题解决方案
- 偏微分方程1-常微分方程求解方法回顾
- SAP BP 业务实践与ABAP 分享
热门文章
- 高盛也上GitHub了!让交易员赚取10亿美元的神秘“利器” 即将开源
- 摆动定价机制连载系列之推出背景及工作原理介绍
- (转)招商银行这一招,引起了各大银行的注意
- KK集团完成门店系统一期上云
- php退款申请源码,PHP实现微信申请退款功能
- 【雷达通信】基于matlab GPS和INS联合导航【含Matlab源码 1814期】
- 【优化求解】基于matlab粒子群算法求解仓库成本控制优化问题【含Matlab源码 1577期】
- 【图像增强】基于matlab GUI图像双边滤波【含Matlab源码 1492期】
- ai 文案_AI是UX文案的未来吗?
- 颜色 透明度 算法_通过问责制和透明度减少算法偏差