赞
踩
正则基本语法在这里就不提了,一搜一堆,这里主要提下在Android中的具体应用
主要也就两个类,一个是 Pattern 类, 一个是 Matcher 类
用于正则表达式的规则解析
Pattern pattern = Pattern.complie(String regex);
//如 匹配 url
String reg = "[a-zA-z]+://[^\\s]*";
Pattern pattern = Pattern.compile(reg);
获取Pattern对应的正则表达式
String reg = pattern.pattern(); // pattern() 方法返回实例对应的正则表达式
分割字符串
//语法规则
String[] strArray = pattern.split(CharSequence input);
//实例:根据数字拆分
String input = "1e1e2e5d2";
Pattern pattern = Pattern.complie("\d");
String strArray = pattern.split(input); // 返回值 [e, e, e, d]
用于处理匹配结果
//语法规则
Matcher matcher = pattern.matcher(String input);
只有整个matcher中的input字符串与pattern的匹配规则完全匹配的时候返回true,否则返回false
Boolean isMatcher = matcher.matcher();
当matcher中的input字符串具有与pattern的规则匹配的时候返回true,否则返回false
Boolean isFind = matcher.find();
if(isFind){
// 返回匹配到的子字符串在文中的索引位置
int iStart = matcher.start();
// 返回匹配到的子字符串的最后一个字符在文中的索引位置
int iEnd = matcher.end();
// 返回匹配到的子字符串
String str = matcher.group();
}
当多次调用find()的时候,会在字符串中寻找下一个能够匹配正则表达式的子字符串
返回值为替换后的结果字串
//替换匹配到的第一个字符串为参数instead值
String str = matcher.replaceFirst(String instead);
//替换匹配到的所有字符串为参数instead值
String str = matcher.replaceAll(String instead);
实例:处理字符串中的特殊字符
String reg = "[`~!@#$%^&*()+=|{}':;'\\[\\].<>/?~!@#¥%……&*()——+|{}【】';:”“’。、?]";
Pattern p = Pattern.complie(reg);
Matcher m = p.matcher(str);
String result = m.replaceAll("").trim();
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。