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 ...
随机推荐
- vue局部过滤器和全局过滤器
全局过滤器在main.js中写 //注册全局过滤器 Vue.filter('wholeMoneyFormat',(value)=>{ return '¥'+Number(value).toF ...
- 4.Reverse Words in a String-Leetcode
class Solution { public: void reverseWords(string &s) { vector<string> data; string word; ...
- postgresql安装部署
一.下载安装: 1.下载: 官网下载地址:https://www.postgresql.org/download/linux/redhat/ 也可以用这个:https://www.enterprise ...
- JavaScript小数、百分数的转换
百分数转化为小数 function toPoint(percent){ var str=percent.replace("%",""); str= str/10 ...
- oracle中的数组
Oracle中的数组分为固定数组和可变数组. 一.固定数组固定数组:在定义的时候预定义了数组的大小,在初始化数组时如果超出这个大小,会提示ORA-06532:超出小标超出限制!语法: T ...
- Vue API 3模板语法 ,指令
条件# v-if# v-if 指令用于条件性地渲染一块内容.这块内容只会在指令的表达式返回 truthy 值的时候被渲染. v-show# v-show 指令也是用于根据条件展示一块内容.v-show ...
- LINUX 安装增强 前置安装文件
yum install kernel yum install kernel-devel yum install gcc yum install make
- Linux(CentOS)升级gcc版本
本人使用的是CentOS 6.2 64位系统,由于在安装系统的时候并没有勾选安装gcc编译器,因此需要自行安装gcc编译器. 系统信息查看命令: cat /etc/redhat-release 使用y ...
- Python实战之MySQL数据库操作
1. 要想使Python可以操作MySQL数据库,首先需要安装MySQL-python包,在CentOS上可以使用一下命令来安装 $ sudo yum install MySQL-python 2. ...
- Linux安装软件出错
1.Delta RPMs disabled because /usr/bin/applydeltarpm not installed. yum provides '*/applydeltarpm' # ...