Java正则表达式语法及简单示例
import java.util.regex.Matcher;
import java.util.regex.Pattern; public class TestMatcher {
public static void main(String[] args) {
//正则表达式对字符串的常见操作:字符串的匹配、切割、替换、获取。 //字符串的匹配:matches()
/*常用写法*/
// 1. boolean b = Pattern.matches("正则表达式", "匹配内容");
String str = "13111225544";
String regexp = "\\d{11}$";
boolean b = Pattern.matches(regexp, str);
System.out.println("正则匹配结果="+b); /*标准写法*/
// 2.Pattern p = Pattern.compile("正则表达式"); Matcher m = p.matcher("匹配内容");
// boolean b = m.matches(); Pattern p = Pattern.compile(regexp);
Matcher m = p.matcher(str);
boolean b2 = m.matches();
System.out.println("正则匹配结果="+b2); /*语句匹配写法*/
// 3.if("aaab".matches(/^a*b$/)) {};
System.out.println("正则匹配结果="+(str.matches(regexp))); // 字符串切割:split()
//DEMO
// String str = "需要切割的字符串";
//描述切割规则
// String regex = "正则表达式";
//切割后的字符串仍是字符串:
// String sstr1 = str.split(regex);
//切割后的字符串放在数组中:
// String[] sstr2 = str.split(regex); String s = "哈哈##呵呵###哦哦#";
String regex = "#+";
String[] sstr1 = s.split(regex);
for(String string:sstr1){
System.out.print(string);
} // 字符串替换:replaceAll()
//DEMO
// String str = "需要替换的字符串";
//匹配规则
// String regex = "正则表达式";
// String Str = str.replaceAll(regex, "替换内容"); String str2 = "哈喽##你好###大聪明";
//匹配规则
String regex2 = "(.)\\1+"; //拓展:叠词切割 String regex = "(.)\\1+",这里用到了组的概念。
//替换为:
String newStr = str2.replaceAll(regex2, "、");
//替换后结果:
System.out.println(newStr); // 字符串获取:group()
//DEMO
//获取字符串“Hi ! welcome to my blog haha”中为两个字母的单词.
String s3 = "Hi ! welcome to my blog haha";
//1、匹配子串
String regex3 = "\\b[a-zA-Z]{2}\\b";
//2、获取匹配器
Pattern p3 = Pattern.compile(regex3);
Matcher m3 = p3.matcher(s3);
//3、使用匹配器的group()方法来获取:(find方法是判断是否具有匹配子串)、
System.out.println("”"+s+"“中的两个字母的单词有:");
while(m3.find()){
System.out.println(m3.group());
} } }
Java正则表达式语法及简单示例的更多相关文章
- JAVA正则表达式语法大全
[正则表达式]文本框输入内容控制 整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$ 只能输入数字:"^[0-9]*$". 只能输入n位的数字:"^\d{n ...
- (转)JAVA正则表达式语法大全
[正则表达式]文本框输入内容控制 整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$ 只能输入数字:"^[0-9]*$". 只能输入n位的数字:"^\d{n ...
- java 正则表达式语法
java 正则表达式语法 标签: 正则表达式javawindowsvbscriptscripting电话 2012-05-20 10:11 6705人阅读 评论(1) 收藏 举报 分类: javaS ...
- 【转】详解Java正则表达式语法
(转自: http://www.jb51.net/article/76354.htm) 这篇文章主要介绍了Java正则表达式语法,包括常用正则表达式.匹配验证-验证Email是否正确以及字符串中查询字 ...
- java正则表达式语法详解及其使用代码实例
原文地址 译者序(下载代码) 正则表达式善于处理文本,对匹配.搜索和替换等操作都有意想不到的作用.正因如此,正则表达式现在是作为程序员七种基本技能之一*,因此学习和使用它在工作中都能达到很高的效率. ...
- Java正则表达式语法
Java正则表达式 表达式意义: 1.字符 x 字符 x.例如a表示字符a \\ 反斜线字符.在书写时要写为\\\\.(注意:因为java在第一次解析时,把\\\\解析成正则表达式\\,在 ...
- Java调度框架Quartz简单示例
Quartz的大名如雷贯耳,这里就不赘述,而且本文也不作为深入探讨,只是看完Quartz的官方文档后,下个简单示例,至少证明曾经花了点时间学习过,以备不时之需. Quartz使用了SLF4J,所以至少 ...
- Java使用ObjectMapper的简单示例
一.什么是ObjectMapper? ObjectMapper类是Jackson库的主要类,它提供一些功能将数据集或对象转换的实现. 它将使用JsonParser和JsonGenerator实例来实现 ...
- Java nio Client端简单示例
java nio是一种基于Channel.Selector.Buffer的技术,它是一种非阻塞的IO实现方式 以下Client端示例 public class ClientNio { public s ...
- JAVA入门[6]-Mybatis简单示例
初次使用Mybatis,先手写一个hello world级别的例子,即根据id查询商品分类详情. 一.建表 create table Category ( Id INT not null, Name ...
随机推荐
- Flow vs Jenkins 实操对比,如何将Java应用快速发布至ECS
简介:Jenkins 由于其开源特性以及丰富插件能力,长久以来都是中小企业搭建 CICD 流程的首选.不过 Jenkins 存在维护成本高.配置复杂等缺点,云效 Flow 较好地解决了这些问题. 本 ...
- 系统架构面临的三大挑战,看 Kubernetes 监控如何解决?
简介: 随着 Kubernetes 的不断实践落地,我们经常会遇到负载均衡.集群调度.水平扩展等问题.归根到底,这些问题背后都暴露出流量分布不均的问题.那么,我们该如何发现资源使用,解决流量分布不均 ...
- 2021年阿里云年中钜惠攻略,注册即可抽 iPhone 12 Pro 等好礼
简介: 七月流火,燃情盛夏!值此季节,阿里云又推出了年中钜惠,精选百款产品,助力创业新势力.从7月26日开始,每天上午10点.下午4点将会放出爆款产品,进行限量秒杀,大家不要错过.注册登陆还可抽取 i ...
- EMR on ACK 全新发布,助力企业高效构建大数据平台
简介: 阿里云 EMR on ACK 为用户提供了全新的构建大数据平台的方式,用户可以将开源大数据服务部署在阿里云容器服务(ACK)上.利用 ACK 在服务部署和对高性能可伸缩的容器应用管理的能力优 ...
- [FAQ] FinalCutPro 视频背景加模糊效果
1. 时间轴右上方,找到 倒数第二个 "显示或隐藏效果浏览器",里面有一个 "模糊" 效果: 2. "模糊"效果中的 "高斯曲线& ...
- EFK+logstash构建日志收集平台
一.环境 k8s集群: 控制节点:192.168.199.131 主机名:master 配置:4核6G 工作节点:192.168.199.128 主机名:monitor 配置:4核4G 1.1 ...
- docker.from_env() 获取docker守护进程时出现 TypeError: load_config() got an unexpected keyword argument 'config_dict' 异常
某天使用python重启docker容器时,出现了一个令人费解的BUG,我的代码为 1 def restart_docker(container_name): 2 # 连接到docker守护进程 3 ...
- elasticsearch 6.2.4和elasticsearch-head环境搭建 使用docker-compose方式
elasticsearch 6.2.4和elasticsearch-head测试环境搭建 使用docker-compose方式 一 背景说明 对于新手来说搭建一个elasticsearch的测试环境稍 ...
- 说一下flex的属性
flex-grow项目的放大比例,默认为0,即如果存在剩余空间,也不放大. flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小.负值对该属性无效. flex-bas ...
- 【源码】蚁群算法TSP问题可视化
ACO.Visualization项目 本项目演示蚁群算法求解旅行商问题的可视化过程,包括路径上的信息素浓度.蚁群的运动过程等.项目相关的代码:https://github.com/anycad/AC ...