正则表达式入门
2015-10-23 16:18
295 查看
基础知识
1,匹配汉字时,要先将汉字转换成unicode编码(网上有工具)再进行匹配,防止因编码不同而出现的问题。2,使用"\"进行转义
3,不可见原子(空格、换行等无可见内容的字符)的匹配。空格:直接输入了一个空格即可进行匹配;制表符:用"\t"进行匹配;回车:用“\n”进行匹配
4,"|":或,用于匹配两个或多个分支,例如“q4|1”表示匹配"q4"或者"1",只要满足其中一个就能匹配成功。
5,[]和[^]:前者匹配中括号中任意一个原子,只要出现就能匹配成功。后者与前者相反。例如"[41d]"表示只有4,1,d三个中的任意一个出现都能匹配成功。中括号一次只拿里面的一个原子进行匹配(如上面的[41d]是将4,1,d分开进行匹配,并不会同时匹配两个原子),而|则一次只拿左边或右边进行匹配(无论左边或右边是否是一个单独的原子,如上面的q4就是拿q4的整体去匹配,并不会将q4拆分成q,4两个原子去匹配)。
6,截自:幕课网
7,量词。{n,m}出现次数为[n,m];{n}出现次数为n;{n,}表示出现次数大于等于n次;+表示出现次数大于等于1次;*表示出现的次数要大于等于0;?表示出现0次或者1次。
8,^用于限制匹配的字符串的开头,如^s表示要匹配的字符串必然以s开关,否则不匹配;$类似,只不过它用于控制结尾。如
String regex = "^\\s[0-9]+$"; Pattern p = Pattern.compile(regex); Matcher matcher = p.matcher("234");返回的就是false,因为^要求匹配的字符串必须以不可见原子开头。如果将"234"换成"[空格]234"就会匹配成功。
9,():将小括号中的当作一个原子进行匹配,不管小括号中放的是什么。如"(abc|e)ar"是可以匹配成功abcar和ear的。
Pattern
java中用来操作正则表达式的类。CASE_INSENSITIVE:忽略整体大小写。如果想忽略某个字符的大小写,可以在该字符前加?i。如
(?i)abc 表示abc都忽略大小写 a(?i)bc 表示bc忽略大小写 a((?i)b)c 表示只有b忽略大小写COMMENTS:忽略正则表达式中的空白。要注意:并不是忽略要进行匹配的字符串中的空白符,只是忽略正则表达式中的。
相关文章推荐
- 论宏定义 #define 摘要
- 用Drawable颜色常数作背景色
- Js获取当前日期时间及其它操作
- 一起做RGB-D SLAM (1)
- Js获取当前日期时间及其它操作
- Android生涯半年祭
- 解决ftp不支持软连接
- 从几幅架构图中偷得半点海量数据处理经验
- MUI-badge数字角标的基本使用
- Android签名证书的sha1值获取
- 视觉SLAM实战(一):RGB-D SLAM V2
- 函数式编程--为什么会出现lambda表达式?
- Tomcat环境搭建及建议
- 函数式编程--为什么会出现lambda表达式?
- 转发和重定向
- (算法)整数转汉字描述
- 判断闰年---简单0.0
- 如何在Mac OS中安装Tomcat 7.0
- Android技术博文
- WdatePicker 日期控件