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 ...
随机推荐
- 代理网关设计与实现(基于NETTY)
简介:本文重点在代理网关本身的设计与实现,而非代理资源的管理与维护. 作者 | 新然 来源 | 阿里技术公众号 一 问题背景 平台端购置一批裸代理,来做广告异地展现审核.从外部购置的代理,使用方 ...
- Dubbo 和 HSF 在阿里巴巴的实践:携手走向下一代云原生微服务
简介: HSF 和 Dubbo 的融合是大势所趋.为了能更好的服务内外用户,也为了两个框架更好发展,Dubbo 3.0 和以 Dubbo 3.0 为内核适配集团内基础架构生态的 HSF 3 应运而生 ...
- 最好用的AI换脸软件,rope下载介绍(支持cpu)
随着AI技术的广泛运用,市面上的换脸软件也多了起来,今天给各位介绍其中的王者Rope! 先上两个动图,给大伙看看效果 rope是如何实现这种自然的效果呢?这得益于机器学习技术的不断发展,rope经过深 ...
- 算法~PBKDF2-SHA让密码更安全
摘要:在当今的数字世界中,密码安全是至关重要的.为了保护用户密码免受未经授权的访问和破解,Password-Based Key Derivation Function 2 (PBKDF2)算法成为了一 ...
- golang 中 strings 包的 Replace 用法介绍笔记
函数申明: func Replace(s, old, new string, n int) string 官方描述为: 返回将s中前n个不重叠old子串都替换为new的新字符串,如果n<0会替换 ...
- jeecgboot集成Mongodb
1.引入jar包依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId ...
- 利用pearcmd实现裸文件包含
利用pearcmd实现裸文件包含 在 ctf 中,常常有这样一类题: 题目很简单,一般围绕一个 include 函数展开. 例: ctfshow 元旦水友赛 easy_include 这类题目没有提供 ...
- Win10-常用cmd命令与快捷键
以下全部是本人私认为平时经常用到的指令,持续更行中- 常用快捷键 win + R : 输入cmd回车,打开命令提示符界面 win + E : 打开文件资源管理器(俗称:文件夹) win + S : 搜 ...
- 简单 python 爬虫(爬取小说网)
#https://blog.csdn.net/Isana_Yashiro/article/details/84582946 import requestsfrom bs4 import Beautif ...
- C# dynamic动态对象赋值
dynamic 如果接收的是匿名对象,是无法为属性赋值的,而如果是接收的定义对象,又无法扩展字段. 解决办法序列化为json字符串,然后用Dictionary反序列化,就能赋值了.也能扩展新的字段. ...