java中正则表达式的使用

来源:互联网 发布:什么是网络信用卡 编辑:程序博客网 时间:2024/05/17 04:27

java中正则表达式的使用


定义

正则表达式(Regular Expression)就是用某种模式去匹配一类字符串的公式。

例子

目的:检查一段字符串是否符合163邮箱的要求(检查一段字符串是不是163邮箱)
要求:邮箱需要以字母开头,长度在6~18个字符,可使用字母 || 数字 || 下划线
正则:^[a-zA-Z]\w{5,17}@163.com
解释:
1. ^: 表示以什么开头
2. [a-zA-Z]: 表示从a~z || A~Z中的任一字符
3. \w: 表示单词字符,与[a-zA-Z_0-9]相同,即a~z || A~Z || 0~9的任一字符
4. {5,17}: 表示出现次数n,5≤n≤17
5. @163.com: 表示尾缀是163邮箱
java如何实现:

String regex = "^[a-zA-Z]\\w{5,17}@163.com";//这里需要转义字符String testText = "test@163.com";boolean isMatched = testText.matches(regex);    //判断text是否符合regex规则System.out.println(isMatched);

常用正则符号

参考

正则 解释 字符类 [abc] a或b或c [^abc] 除了abc之外的任何字符 [a-zA-Z] 从a~z或者从A~Z [a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集) [a-z&&[def]] d、e 或 f(交集) [a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去) [a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去) 预定义字符类 . 任何字符(与行结束符可能匹配也可能不匹配) \d 数字:[0-9] \D 非数字: [^0-9] \s 空白字符:[ \t\n\x0B\f\r] \S 非空白字符:[^\s] \w 单词字符:[a-zA-Z_0-9] \W 非单词字符:[^\w] 边界匹配器 ^ 行的开头 $ 行的结尾 \b 单词边界 \B 非单词边界 \A 输入的开头 \G 上一个匹配的结尾 \Z 输入的结尾,仅用于最后的结束符(如果有的话) \z 输入的结尾 数量词(Greedy策略) X? X,一次或一次也没有 X* X,零次或多次 X+ X,一次或多次 X{n} X,恰好 n 次 X{n,} X,至少 n 次 X{n,m} X,至少 n 次,但是不超过 m 次 逻辑运算符 XY X 后跟 Y X|Y X 或 Y (X) X,作为捕获组

增加一组判断ip地址是否合法的正则:
((2[0-4]\d|25[0-5]|[01]?\d\d?).){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
转载请注明出处http://blog.csdn.net/zifeng1203s/article/details/44020159

0 0
原创粉丝点击