Android 正则表达式,Pattern,Matcher基本使用

正则表达式:正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。

强烈建议博客:http://www.jb51.net/tools/zhengze.html


Pattern类

Pattern的创建:

Pattern pattern =Pattern.complie(String regex)

参数说明:regex:是一个正则表达式的字符串,(也是需要过滤或寻找字符串的正则表达式)


Pattern的方法:

String regex=pattern.pattern();

方法说明:返回pattern实例对应的正则表达式(创建的时候传入的参数:regex);

字符串拆分:

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);

Matcher方法说明:

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


你可能感兴趣的:(Android 正则表达式,Pattern,Matcher基本使用)