Android 正则表达式,Pattern,Matcher基本使用
Pattern类:
Pattern的创建:
Pattern pattern =Pattern.complie(String regex)
参数说明:regex:是一个正则表达式的字符串,(也是需要过滤或寻找字符串的正则表达式)
pattern():
String regex=pattern.pattern();
方法说明:返回pattern实例对应的正则表达式(创建的时候传入的参数:regex);
split():
String[] stringArray=pattern.split(CharSequence input);
方法说明:将input字符串根据pattern的规则拆分成数组;
input --将被拆分的字符串;
stringArray-拆分后得到的数组;
pattern--拆分规则:在input字符串中遇到与pattern匹配的字符串就会将input进行拆分;
示例:input-"1e1e1e1e2e5d2"
Pattern pattern =Pattern.complie("\d")
结果 stringArray为[e,e,e,e,e,d]
Matcher类:
在创建Matcher的时候,需要先创建Pattern;
Pattern pattern =Pattern.complie(String regex)
Matcher matcher=pattern.matcher( String imput);
pattern():
Pattern pattern=matcher.pattern();
方法说明:返回创建mathcer的pattern实例;
整体匹配:
Boolean boolean=matcher.matcher();
参数说明: boolean-只有整个matcher中的input字符串与pattern的匹配规则完全匹配的时候返回true,否则返回false;
局部匹配:
Boolean boolean=matcher.find();
参数说明: boolean-当matcher中的input字符串具有与pattern的规则匹配的时候返回true,否则返回false;
当boolean为true的时候,我们可以调用
matcher.start();返回匹配到的子字符串在字符串中的索引位置
matcher.end();返回匹配到的子字符串的最后一个字符在字符串中的索引位置
matcher.group();返回匹配到的子字符串
注意:当多次调用find()的时候,会在字符串中寻找下一个能够匹配这则表达式的子字符串;
替换:
String over=matcher.replaceFirst(String instead);
参数说明:instead:将匹配到的第一处的字符串换成instead字符串
over:替换后的字符串;
String over=matcher.replaceAll(String instead);
参数说明:instead:将匹配到所有的字符串换成instead字符串
over:替换后的字符串;
String StringBuffer=matcher.appendReplacement();
将替换位置处及之前位置处的字符复制到StringBuffer中;
String StringBuffer=matcher.appendTail();
将替换位置之后的字符复制到StringBuffer
使用实例:
//匹配字符串,正则长度等于14位
Pattern p = Pattern.compile("^.{14}$");
Matcher m = p.matcher(location_codeText);
if(m.find()) {
isFull.setEnabled(true);
isFull.setTextColor(Color.BLUE);
}else{
isFull.setEnabled(false);
isFull.setTextColor(Color.GRAY);
return;
}
//*处理字符串中的特殊字符*/
String regEx="[`~!@#$%^&*()+=|{}':;'\\[\\].<>/?~!@#¥%……&*()——+|{}【】';:”“’。、?]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(strToSpeech.toString());
String toSpeechText=m.replaceAll("").trim();
Android 正则表达式,Pattern,Matcher基本使用的更多相关文章
- 正则表达式 Pattern & Matcher
1 compile and pattern Pattern类用于创建一个正则表达式,也可以说创建一个匹配模式,它的构造方法是私有的,不可以直接创建,但可以通过Pattern.complie(Strin ...
- Java 正则表达式 Pattern & Matcher
通常会有这种需求: 在文档中搜索有规律的字符串,然后进行统计或者替换.Java.util.regex包下的Pattern和Matcher这两个类提供了通过正则表达式来匹配查询,甚至替换的功能.那么我们 ...
- java正则表达式Pattern和Matcher
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. 1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. ...
- JAVA正则表达式 Pattern和Matcher
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. 1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. ...
- JAVA正则表达式 Pattern和Matcher(转)
1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包.它包括两个类:Pattern和Matcher. 首先一个Pattern实例订制了一 ...
- 正则表达式 Pattern和Matcher
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. 1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. ...
- 正则表达式Pattern ,Matcher
正则表达式:符合一定规则的表达式 作用:用于专门操作字符串 特点:用于一些特定的符号来表示一些代码的操作,这样就简化代码的书写 学习正则表达式就是要学习一些特殊符号的使用 好处:简化对字符串复杂的操作 ...
- 牛客网Java刷题知识点之正则表达式(Matcher、Pattern)
不多说,直接上干货! 正则表达式是什么? 正则表达式是一种可以用于模式匹配和替换的规范, 一个正则表达式就是由普通的字符(例如字符a到z) 以及特殊字符(元字符) 组成的文字模式, 它用以描述在查找文 ...
- Java正则表达式Pattern和Matcher类
转载自--小鱼儿是坏蛋(原文链接) 概述 Pattern类的作用在于编译正则表达式后创建一个匹配模式. Matcher类使用Pattern实例提供的模式信息对正则表达式进行匹配 Pattern类 ...
随机推荐
- Spring MVC-从零开始-view-forward、redirect
1.forward或redirect后,不再走viewResolver过程,直接重新从控制器开始 2.代码 package com.jt; import org.springframework.ste ...
- jquery 动态控制显隐
1.第1种方法 ,给元素设置style属性 $("#hidediv").css("display", "block"); 2.第2种方法 , ...
- Python3爬虫基础实战篇之机票数据采集
项目:艺龙国内机票实时数据爬虫 使用模块:requests(请求模块),js2py(js执行模块),json(解析json),xpath(解析网页). 项目流程: 分析网站数据来源. 编写爬虫脚本. ...
- 如何编写高质量的 JS 函数(3) --函数式编程[理论篇]
本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/EWSqZuujHIRyx8Eb2SSidQ作者:杨昆 [编写高质量函数系列]中, <如何 ...
- 快学Scala 第二十二课 (apply和unapply)
apply和unapply: apply方法经常用在伴生对象中,用来构造对象而不用显式地使用new. unapply是当做是伴生对象的apply方法的反向操作.apply方法接受构造参数,然后将他们变 ...
- ELK 学习笔记之 elasticsearch Bulk操作
Bulk操作: Bulk操作用于批量插入数据: 请求体格式: 编辑一个文件:(插入2个新的文档) curl -XPOST 'http://192.168.1.151:9200/library/book ...
- 自创ant-design-pro组件
ant design蚂蚁金服基于react打造的一个服务于企业级产品的UI框架.而ant design pro呢?就是基于Ant Design这个框架搭建的中后台管理控制台的脚手架. 话不多说,今天给 ...
- 从干将莫邪的故事说起--java比较操作注意要点
故事背景 <搜神记>: 楚干将.莫邪为楚王作剑,三年乃成.王怒,欲杀之.剑有雌雄.其妻重身当产.夫语妻曰:“吾为王作剑,三年乃成.王怒,往必杀我.汝若生子是男,大,告之曰:‘出户望南山,松 ...
- 基于.Net core3.0 开发的斗图小程序后端+斗图小程序
为啥要写这么一个小程序? 作为互联网的原住民. 90后程序员的我,从高中开始发QQ小表情. 到之后的熊猫头,蘑菇头. 可以说表情包陪伴我从学校到社会,从青少年到中年.. 而且因为斗图厉害,还找到一个女 ...
- sqlmap实战-1
sqlmap实战-1 检测和利用sql注入 python2 sqlmap.py -u "[URL_SQL注入点]" [--batch] --batch:自动选择sqlmap默认的选 ...