Android 正则表达式

来源:互联网 发布:如何清空淘宝自动推荐 编辑:程序博客网 时间:2024/06/08 00:15
元字符 含义 . 表示任意一个字符 \s 空格字符(空格键,tab,换行,换页,回车) \S 非空格字符([^\s]) \d 一个数字,(相当于[0-9]) \D 一个非数字的字符,(相当于[^0-9]) \w 一个单词字符(word character) (相当于[a-zA-Z_0-9]) \W 一个非单词的字符,[^\w] ^ 一行的开始 $ 一行的结尾 \b 一个单词的边界 \B 一个非单词的边界 [] 匹配方括号内的一个字符

表示次数的元字符

元字符 含义 * 重复零次或更多次 + 重复一次或更多次 ? 重复零次或一次 {n} 重复n次 {n,} 重复n或更多次数 {n,m} 重复n到m次

正则表达式,最重要的就是匹配规则的输书写,其实正则表达式,并不难,只要对其组成的元字符有一定的了解,就比较简单了
正则表达式,是验证字符串的神器,学会了将很大的缩短字符串处理所需要的事件和代码量
正则表达式的书写时由元字符组成的
上面的表格就是部分常用元字符,及其含义。
我们就用常见的判断手机号码的正则表达式来看看:

    public static boolean checkPhone(String phone) {        //其中compile的参数就是正则表达式的所要执行的匹配的规则        //前面小括号内别看有那么多东西,其实所匹配的数字只有3个        // | 符号的意思就是或即从其中寻找能匹配上的字符  我们来减少点说        //(13[0-9]|15[0-9]|153)        //比如 字符串  13[0-9] 这个字符串所匹配的是一个长度为3的字符 前两位必须是13 最后一位必须是0-9中的一个        //15[0-9]和上面的规则时一样的   而153就简单了 153 表示字符必须只能时153不能时其他的        //(13[0-9]|15[0-9]|153) 和起来就表示 一个字符串必须满足3个规则中的一个才时true否则就是false        //继续来看下面的规则         // 也就是说一个字符串的前三位必须满足下面8个规则中的一个        //后面的\\d{8}表示 \\d==\d 只是因为java中转义字符的原因所以才要多加一个        //上面的表格中已经写了 \d表示的时数字        //{8} 表示的是循环匹配8次        //总的 前面的3位数的匹配时验证 对应的电话号码段        //后面的8位必须是数字 这样加起来就对8+3=11 为电话号码的长度        Pattern pattern = Pattern                .compile("^(13[0-9]|15[0-9]|153|15[6-9]|180|18[23]|18[5-9]|17[37])\\d{8}$");        Matcher matcher = pattern.matcher(phone);        if (matcher.matches()) {            return true;        }        return false;    }

也可以用一下这种方式直接匹配正则表达式,返回值时boolean

new String().matches("^(13[0-9]|15[0-9]|153|15[6-9]|180|18[23]|18[5-9]|17[37])\\d{8}$");

当然我说的还不够详细,如果想看更详细的,请看下面链接:
http://baike.baidu.com/link?url=wSJQPNvPjvO8wtR-tJWI21FBizUGb8GO7YJwvl603MyJ17B6qif0jNaKtLxXSOKUDHd75UHE-KeE3S8mB3Vg6a
http://www.cnblogs.com/yirlin/archive/2006/04/12/373222.html
http://www.jikexueyuan.com/course/809.html

0 0
原创粉丝点击