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类 ...
随机推荐
- Android之SOAP协议与WebService服务器交互,解决超时的问题
网络搜索大部分不能实际解决问题.特意将解决方法写下.创建MyAndroidHttpTransport 类 , package com.example.omhandroid.lib; import or ...
- Redis数据库之数据基本管理操作
了解并掌握各种数据类型的命令操作方式,以及各种数据类型值的操作方式.同时,熟练记忆列表.哈希.集合和有序集合等数据类型的常用操作命令.能根据指令格式完成相应的指令操作. ①string数据类型的练习 ...
- JsonConfig的jsonConfig.setExcludes的用法
1.问题描述 在项目中经常会有两个类存在一对多或者多对一的关联关系,这样在查询多的一方时,会深入查询关联的一方,而我们可能并不需要去深入查询那些数据,此时使用JsonConfig的jsonConfig ...
- Go语言基础之net/http
Go语言基础之net/http 2017年6月26日 Go语言内置的net/http包十分的优秀,提供了HTTP客户端和服务端的实现. net/http介绍 Go语言内置的net/http包提供了HT ...
- hadoop之yarn详解(框架进阶篇)
前面在hadoop之yarn详解(基础架构篇)这篇文章提到了yarn的重要组件有ResourceManager,NodeManager,ApplicationMaster等,以及yarn调度作业的运行 ...
- 教你制作挂件头像 | 小程序七十二变之 canvas 绘制国旗头像
昨天朋友圈被「请给我一面国旗@微信官方」刷屏,虽然知道是假的,但是从另一个角度来看,弄清楚如何实现更有趣. 1.canvas 这就不得不提到小程序中的 API canvas,H5 中也是有 canva ...
- springboot 自定义LocaleResolver切换语言
springboot 自定义LocaleResolver切换语言 我们在做项目的时候,往往有很多项目需要根据用户的需要来切换不同的语言,使用国际化就可以轻松解决. 我们可以自定义springboor中 ...
- 1046 Shortest Distance (20 分)
1046 Shortest Distance (20 分) The task is really simple: given N exits on a highway which forms a si ...
- 2.1实现简单基础的vector
2.1实现简单基础的vector 1.设计API 我们参考下C++ <std> 库中的vector, vector中的api很多,所以我们把里面用的频率很高的函数实现; 1.1 new&a ...
- ZGC介绍
zgc是一款可拓展的低时延,为实现以下几个目标而诞生的垃圾回收器: 停顿时间不超过10ms 停顿时间不会导致堆大小增长 堆大小范围可支持几G到几T 再看一下zgc的标签: region-based ( ...