java 数据类型String 【正则表达式】匹配工具 Pattern和Matcher
Pattern和Matcher的介绍:
Matcher 类提供了如下多个常用方法
- find(): 尝试去匹配满足正则表达式的子字符串,如果匹配成功返回true,否则false
- group(): 返回上一次与Pattern匹配的子串
- start(): 返回上一次与Pattern匹配的子串在目标字符串中的开始位置
- end(): 返回上一次与Pattern匹配的子串在目标字符串中的结束位置
- lookingAt(): 返回目标字符串前面部分与 Pattern是否匹配
- matches(): 返回整个目标字符串与 Pattern 是否匹配
- reset(): 将现有的Matcher对象应用于一个新的字符序列
import java.util.regex.Matcher;
import java.util.regex.Pattern; /**
* @ClassName PatternMatchExample
* @projectName: object1
* @author: Zhangmingda
* @description: XXX
* date: 2021/4/14.
*/
public class PatternMatchExample {
public static void main(String[] args) {
//匹配手机号的正则示例
Pattern pattern = Pattern.compile("1[34785]\\d{9}");
String string = "a的电话号是13212312123,b的电话是13332141234";
Matcher matcher = pattern.matcher(string);
// System.out.println(matcher.find()); //find找是否有匹配的子串
// System.out.println(matcher.group()); //必须find()后才能group找到,或者整个字符串完全匹配才行
while (matcher.find()){
System.out.println(matcher.group() + " 匹配的起始下标:"+ matcher.start() + " 匹配的结束下标:" + matcher.end());
}
System.out.println(matcher.matches()); //false整个字符串完全匹配才行
System.out.println(matcher.lookingAt()); //false 从字符串开头开始匹配
Pattern pattern1 = Pattern.compile(".{6}1[34785]\\d{9}.*");
Matcher matcher1 = pattern1.matcher(string);
System.out.println(matcher1.matches()); //true 整个字符串完全匹配
}
}
java 数据类型String 【正则表达式】匹配工具 Pattern和Matcher的更多相关文章
- java中使用正则表达式匹配字符串
在Java中使用正则表达式去匹配相应的字符串: String importFileRole = "(import)\\s*[a-zA-Z0-9_<>.]+\\;";// ...
- java.util.regex包下的Pattern和Matcher详解(正则匹配)
java正则表达式通过java.util.regex包下的Pattern类与Matcher类实现(建议在阅读本文时,打开java API文档,当介绍到哪个方法时,查看java API中的方法说明,效果 ...
- Java算法练习——正则表达式匹配
题目链接 题目描述 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配. '.' 匹配任意单个字符 '*' 匹配零个或多个前面的那一个元素 所谓匹配,是要 ...
- java 数据类型String 【正则表达式】匹配
1,什么是正则表达式 正则表达式是用来处理字符串的,其实正则表达式是非常复杂的,专门去系统学习需要花很长的时间,我们课程主要就是把常用的基础的给大家讲解. 正则表达式可以用来干什么: (1),匹配字符 ...
- java常用的正则表达式的工具类
import com.google.common.base.Strings; import java.util.regex.Matcher;import java.util.regex.Pattern ...
- 测试工具之Match Tracer(正则表达式匹配工具)
这个工具完全界面化,非常好用,如果对自己写的正则表达式不够确定,可以使用这个软件来试水一下 从下面网址可以下载: http://www.regexlab.com/zh/mtracer/download ...
- Java中输出正则表达式匹配到的内容
import java.util.regex.Matcher; import java.util.regex.Pattern; public class A { public static void ...
- java 从String中匹配数字,并提取数字
方法如下: private List<FieldList> GetTmpFieldsList(List<String> FieldsList,String tmptableNa ...
- java 中 正则 正则表达式 匹配 url
不多说 [http|https]+[://]+[0-9A-Za-z:/[-]_#[?][=][.][&]]* 这个就是匹配 网络上的网址 又称 url . 最起码 绝大部分的taobao ur ...
随机推荐
- Jenkins快速上手安装
目录 环境准备 - JDK 安装 1. APT 安装 2. WAR包方式运行 3.Docker 方式运行 Jenkins 是一个独立的开源自动化服务器,可以用来自动化与构建.测试.交付或部署软件相关的 ...
- Codeforces 1408I - Bitwise Magic(找性质+集合幂级数)
Codeforces 题面传送门 & 洛谷题面传送门 Yet another immortal D1+D2 I %%%%%% 首先直接统计肯定是非常不容易的,不过注意到这个 \(k\) 非常小 ...
- 各种多项式操作的 n^2 递推
zszz,使用 NTT 可以在 \(\mathcal O(n\log n)\) 的时间内求出两个多项式的卷积.以及一个多项式的 \(\text{inv},\ln,\exp,\text{sqrt}\) ...
- Congratulations, FYMS-OIers!
Fuzhou Yan'an Middle School Online Judge 又一次上线啦! 真的是一波三折,主要功劳必须得属于精通网页编排.ubuntu 下如何使用 rm -rf 语句但是又能够 ...
- Volatile的3大特性
Volatile volatile是Java虚拟机提供的轻量级的同步机制 3大特性 1.保证可见性 当多个线程同时访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值 案例代码 ...
- Learning Spark中文版--第四章--使用键值对(1)
本章介绍了如何使用键值对RDD,Spark中很多操作都基于此数据类型.键值对RDD通常在聚合操作中使用,而且我们经常做一些初始的ETL(extract(提取),transform(转换)和load ...
- mybatis-plus条件构造用is开头的Boolean类型字段时遇到的问题
is打头的Boolean字段导致的代码生成器与lambda构造器的冲突 https://gitee.com/baomidou/mybatis-plus/issues/I171DD?_from=gite ...
- zabbix之微信报警
#:先在企业微信注册一个企业微信号 #:注册好之后,进入微信 #:测试一下 #:获取access_token #:开始获取 #:获取 #:在server端安装pip root@ubuntu:~# ap ...
- VUE页面实现加载外部HTML方法
前后端分离,后端提供了接口.但有一部分数据,比较产品说明文件,是存在其他的服务器上的.所以,在页面显示的时候,如果以页面内嵌的形式显示这个说明文件.需要搞点事情以达到想要的效果.本文主要和大家介绍VU ...
- OceanBase 2.x体验:推荐用DBeaver工具连接数据库
Original MQ4096 [OceanBase技术闲谈](javascript:void(0) 2020-01-15 OceanBase 2.x体验:推荐用DBeaver工具连接数据库 Ocea ...