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基本使用的更多相关文章

  1. 正则表达式 Pattern & Matcher

    1 compile and pattern Pattern类用于创建一个正则表达式,也可以说创建一个匹配模式,它的构造方法是私有的,不可以直接创建,但可以通过Pattern.complie(Strin ...

  2. Java 正则表达式 Pattern & Matcher

    通常会有这种需求: 在文档中搜索有规律的字符串,然后进行统计或者替换.Java.util.regex包下的Pattern和Matcher这两个类提供了通过正则表达式来匹配查询,甚至替换的功能.那么我们 ...

  3. java正则表达式Pattern和Matcher

    java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. 1.简介:  java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. ...

  4. JAVA正则表达式 Pattern和Matcher

    java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. 1.简介:  java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. ...

  5. JAVA正则表达式 Pattern和Matcher(转)

    1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包.它包括两个类:Pattern和Matcher.        首先一个Pattern实例订制了一 ...

  6. 正则表达式 Pattern和Matcher

    java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. 1.简介:  java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. ...

  7. 正则表达式Pattern ,Matcher

    正则表达式:符合一定规则的表达式 作用:用于专门操作字符串 特点:用于一些特定的符号来表示一些代码的操作,这样就简化代码的书写 学习正则表达式就是要学习一些特殊符号的使用 好处:简化对字符串复杂的操作 ...

  8. 牛客网Java刷题知识点之正则表达式(Matcher、Pattern)

    不多说,直接上干货! 正则表达式是什么? 正则表达式是一种可以用于模式匹配和替换的规范, 一个正则表达式就是由普通的字符(例如字符a到z) 以及特殊字符(元字符) 组成的文字模式, 它用以描述在查找文 ...

  9. Java正则表达式Pattern和Matcher类

    转载自--小鱼儿是坏蛋(原文链接) 概述 Pattern类的作用在于编译正则表达式后创建一个匹配模式.    Matcher类使用Pattern实例提供的模式信息对正则表达式进行匹配 Pattern类 ...

随机推荐

  1. selenium介绍及环境安装

      selenium简介: seelenium是web应用程序自动化工具,通过自动操作浏览器,进行点击.输入.回车.返回等来模拟用户的真实行为.如何理解和看待selenium项目,selenium官方 ...

  2. Redis数据库之编程项目及练习资源

    实训项目 :   NOSQL数据库设计与应用实训         注释:   Redis数据库编程项目示例及练习资源 项目源码获取: https://pan.baidu.com/s/19f0F7cmx ...

  3. 23种设计模式之单例(Singleton Pattern)

    单例 在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例(eg:应对一些特殊情况,比如数据库连接池(内置了资源)  全局唯一号码生成器),才能确保它们的逻辑正确性.以及良好的效率 ...

  4. 使用maven开发javaweb项目

    想重新学习一下java web的知识,之前也学习过一些但是也没有用在开发中所以也忘的七七八八了,因为从事Android开发免不了要与服务器打交道,有时候想自己写一个小DEMO需要服务器的时候感觉真是很 ...

  5. Ceph 的 'MAX AVAIL' 和 数据平衡 - Storage 6

    1. 客户环境 节点数量:4个存储节点 OSD数量:每个节点10块8GB磁盘,总共 40 块OSD Ceph 版本: Storage 6 使用类型:  CephFS 文件 CephFS数据池:  EC ...

  6. Flume 知识点(六)Flume 的监控

    简述 使用 Flume 实时收集日志的过程中,尽管有事务机制保证数据不丢失,但仍然需要时刻关注 Source.Channel.Sink 之间的消息传输是否正常. 比如,SouceChannel 传输了 ...

  7. 从 axios 源码中了解到的 Promise 链与请求的取消

    axios 中一个请求取消的示例: axios 取消请求的示例代码 import React, { useState, useEffect } from "react"; impo ...

  8. Ubuntu 16.04安装snort含问题解决

    源码方式安装 wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz tar xvzf daq-2.0.6.tar.gz cd daq- ...

  9. 各种常见文件的hex文件头

    我们在做ctf时,经常需要辨认各种文件头,跟大家分享一下一些常见的文件头.   扩展名 文件头标识(HEX) 文件描述 123 00 00 1A 00 05 10 04 Lotus 1-2-3 spr ...

  10. 小白学 Python(1):开篇

    人生苦短,我用 Python 引言 大家好,可能大家都对我比较熟悉了,不熟悉请去面壁(现在熟悉一下也来得及)~ 简单做一个自我介绍,我是极客挖掘机的唯一作者,一位油腻的 Java 程序员[臭鸡蛋什么的 ...