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 梳理-接收请求的输入(原)
Spring MVC 允许一下方式将客户端的数据传送到控制器的处理方法中 查询参数(Query Parameter) 表单参数(Form Parameter) 路径变量(Path Variable ...
- Python爬虫(一):爬虫伪装
1 简介 对于一些有一定规模或盈利性质比较强的网站,几乎都会做一些防爬措施,防爬措施一般来说有两种:一种是做身份验证,直接把虫子挡在了门口,另一种是在网站设置各种反爬机制,让虫子知难而返. 2 伪装策 ...
- 只要听说过电脑的人都能看懂的网上pdf全书获取项目
作者:周奇 最近我要获取<概统>的教材自学防挂科(线代已死),于是我看到 htt链ps:/链/max链.book接118接.com接/html/2018/0407/160495927.sh ...
- 多线程基础(主要内容转载于https://segmentfault.com/a/1190000014428190)
进程作为资源分配的基本单位 线程作为资源调度的基本单位,是程序的执行单元,执行路径(单线程:一条执行路径,多线程:多条执行路径).是程序使用CPU的最基本单位. 线程有3个基本状态: 执行.就绪.阻塞 ...
- 究竟是.NET淹没在汪洋大海,还是人心的浮躁、见识的短浅?
这些年来有相当多的.net开发者转了其他语言,也有一部分是迫不得已因为公司的转型而转,其中也有一大部分觉得.net没前途性能不好比某些语言性能差.还有一部分会说出一些名词去指责.net说他做不到,其实 ...
- Timed out after 30000 ms while waiting to connect
今天使用mongo-java-drive写连接mongo的客户端,着实被上面那个错坑了一把.回顾一下解决过程: 报错: com.mongodb.MongoTimeoutException: Timed ...
- 移动端meta设置大全
声明文档使用的字符编码: <meta charset='utf-8'> 强制让文档与设备的宽度保持1:1,对页面设置不能进行缩放: <meta name="viewpor ...
- GLSL 参考GIMP源码实现色彩平衡调节
色彩平衡 修图工具中的色彩平衡一般用来根据亮度等级调整图片中颜色的偏色,调整偏色涉及到加色原理和减色原理 其实我们通过三原色加色原理的图片就可以知道,红色的对比色是青色,蓝色的对比色是黄色,绿色的对比 ...
- Mycat读写分离(一主一从)
Mycat读写分离(一主一从) 我们一共使用2个虚拟机,每个机器的作用如下: 主机名 IP地址 任务角色 数据库 node1 192.168.1.121 Mycat, master MySQL nod ...
- 聊聊db和缓存一致性的5种实现方式
数据存储在数据库中,为了加快业务访问的速度,我们将数据库中的一些数据放在缓存中,那么问题来了,如何确保db和缓存中数据的一致性呢?我们列出了5种方法,大家都了解一下,然后根据业务自己选择. 方案1 获 ...