对字符串进行 匹配,查找,替换,判断。
2013-06-23 23:08
211 查看
编程或者电脑使用过程中,经常需要对字符串进行 匹配,查找,替换,判断。如果单纯用代码 if () ,whlie 什么的进行比较复杂麻烦。正则表达式是一种强大灵活的文本处理工具,专门对字符串进行匹配,查找,替换,判断。
正则表达式的各种匹配符
了解了这些匹配符,就可以开始写匹配式,很多网站提交信息的时候说填写的什么信息不规范就是正则匹配式进行判断。
手机号码验证:国内手机都是13,15,18开头的11位数字,据此来进行匹配验证
匹配式: \b1[358]\d{9}\b 开头与结尾写\b,号码开始是1,第二位是3、5、8中的一个数字,剩下九位是数字
***验证:前六位地区码(数字),中间八位生日(数字),末尾四位标识码(数字)。生日年开头是19或者2,月01-12,日01-31。
匹配式: ^\d{6}((19)|(2\d)\d{2}((0\d)|(1[012]))(([0-2]\d)|(3[01]))\d{4})$
邮箱验证:前面任意位数非空字符,必须带@,末尾必须有.com或者.cn
[b]匹配式: \w+@\w+\.(com)|(cn)[/b]
正则表达式的各种匹配符
// 正则表达式的各种匹配符 ^ 从行的开始位置开始匹配 $ 匹配到行的结束位置 \b 匹配单词的开始或结束位置 . 匹配除换行符的所有任意字符 \w 匹配单字(a-z,A-Z,0-9,下划线) \W 匹配非单字字符 \s 匹配空白字符 \S 匹配非空白字符 \d 匹配数字字符(0-9) \D 匹配非数字字符 * 匹配前面表达式零次或多次,等价于 {0,} + 匹配前面表达式一次或多次,等价于 {1,} ? 匹配前面表达式零次或一次,等价于{0,1} {n} 匹配前面的表达式n次,n是一个非负整数 {n,} 匹配前面的表达式至少n次,n是一个非负整数 {n,m} 匹配前面的表达式 n-m 次, nm都是非负整数 [] 字符类,如[123]表示有123中任意一个数字,[1-9]表示1到9中任意一个数字 () 分组,匹配括号里的整体,(java)+ 就是匹配一个"java"至少出现一次的字符串 ^ 反义匹配,用在判断条件前。 例如 .*[^\d]\.java$ 就是匹配最后一位非数字的java文件 | 逻辑或 \ 转义字符,和编程语言里的一样
了解了这些匹配符,就可以开始写匹配式,很多网站提交信息的时候说填写的什么信息不规范就是正则匹配式进行判断。
手机号码验证:国内手机都是13,15,18开头的11位数字,据此来进行匹配验证
匹配式: \b1[358]\d{9}\b 开头与结尾写\b,号码开始是1,第二位是3、5、8中的一个数字,剩下九位是数字
boolean check = false; String regex = "\b1[358]\d{9}\b"; String input = "19100390888"; Pattern pattern = Pattern.compile(regex) //编译正则表达式 Matcher matcher = pattern.matcher(input) //进行匹配 if (matcher.matches()) check = true; return check;
***验证:前六位地区码(数字),中间八位生日(数字),末尾四位标识码(数字)。生日年开头是19或者2,月01-12,日01-31。
匹配式: ^\d{6}((19)|(2\d)\d{2}((0\d)|(1[012]))(([0-2]\d)|(3[01]))\d{4})$
boolean check = false; String regex = "^\d{6}((19)|(2\d)\d{2}((0\d)|(1[012]))(([0-2]\d)|(3[01]))\d{4})$"; String input = "19100390888"; Pattern pattern = Pattern.compile(regex) //编译正则表达式 Matcher matcher = pattern.matcher(input) //进行匹配 if (matcher.matches()) check = true; return check;
邮箱验证:前面任意位数非空字符,必须带@,末尾必须有.com或者.cn
[b]匹配式: \w+@\w+\.(com)|(cn)[/b]
boolean check = false; String regex = "\w+@\w+\.(com)|(cn)"; String input = "19100390888"; Pattern pattern = Pattern.compile(regex) //编译正则表达式 Matcher matcher = pattern.matcher(input) //进行匹配 if (matcher.matches()) check = true; return check;
相关文章推荐
- awk条件查找字符串并进行替换
- (正则表达式)linux shell 字符串操作(长度,查找,替换,匹配)详解
- linux shell 字符串操作(长度,查找,替换,匹配)详解
- 在JS的(字符串)数组中针对每个元素的内容进行查找和替换
- oracle操作字符串:拼接、替换、截取、查找、长度、判断
- Python 正则表达式 字符串的匹配、替换、分割、查找
- linux在文件夹中查找文件包含的字符串,并进行相应的替换
- 数组的创建/查找数组里面的内容/添加数组中元素/使用指定的字符串把数组链接起来/判断数组内是否有指定的数组元素/四种遍历进行输出数组中的元素有哪些
- python使用re进行字符串查找和替换
- python 正则表达式 字符串的 匹配 替换 分割 查找
- 在JS的(字符串)数组中针对每个元素的内容进行查找和替换。
- objective-c 字符串查找并删除创建可变字符串重新设置字符串查找第一个并替换查找全部匹配的,并替换
- python使用re进行字符串查找和替换
- 正则表达式进行字符串替换!将奇数和偶数的字符串替换成不同的!并且忽略大小写查找
- 华为2013校园招聘上机笔试题-对源字符串中的字符串进行查找替换
- 源字符串中得字符串进行查找替换
- 在JS的(字符串)数组中针对每个元素的内容进行查找和替换
- 在JS的(字符串)数组中针对每个元素的内容进行查找和替换
- linux shell 字符串操作(长度,查找,替换,匹配)详解
- 在JS的(字符串)数组中针对每个元素的内容进行查找和替换