day51-正则表达式02( 二 )


day51-正则表达式02

文章插图
5.5正则应用实例
  • 对字符串进行如下验证
  1. 汉字
  2. 邮政编码
    要求:是1-9开头的一个六位数,比如:123890
  3. QQ号码:
    要求:是一个1-9开头的一个(5位数-10位数),比如:12389,1345687,187698765
  4. 【day51-正则表达式02】手机号码
    要求:必须以13,14,15,18开头的11位数,比如:13588889999
  5. URL:https://www.bilibili.com/video/BV1fh411y7R8?p=893&spm_id_from=pageDriver&vd_source=7e137c3a1559f85aacb1f151bb0a830d
例子1:
package li.regexp;import java.util.regex.Matcher;import java.util.regex.Pattern;//正则表达式的应用实例public class RegExp10 {public static void main(String[] args) {String content = "1358888999";//1. 汉字//String regStr="^[\u4e00-\u9fa5]+$";//^和 $同时出现时,表示只能匹配 ^和 $之间的内容//2. 邮政编码//要求:是1-9开头的一个六位数,比如:123890//String regStr="^[1-9]\\d{5}$";//3. QQ号码://要求:是一个1-9开头的一个(5位数-10位数),比如:12389,1345687,187698765//String regStr = "^[1-9]\\d{4,9}$";//4. 手机号码//要求:必须以13,14,15,18开头的11位数,比如:13588889999String regStr = "^1[3458]\\d{9}$";Pattern pattern = Pattern.compile(regStr);Matcher matcher = pattern.matcher(content);if (matcher.find()) {System.out.println("满足格式");} else {System.out.println("不满足格式");}}}
例子2:
package li.regexp;import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegExp11 {public static void main(String[] args) {String content = "https://www.bilibili.com/video/BV1fh411y7R8?p=894&spm_id_from=pageDriver&vd_source=7e137c3a1559f85aacb1f151bb0a830d";String content2 = "https://10fastfingers.com/typing-test/simplified-chinese";String content3 = "https://zh.ua1lib.org/";/*** 思路:* 1.先确定URL的开始部分 https:// 或 http://*((https|http)://)* 2.接着是域名部分 www.bilibili.com*www. 和bilibili. 可以写成([\\w-]+\\.)+*[\\w-]+ 则匹配 com* 3.接着是域名后面*3.1首先是整体*()?表示()里面的出现零次或者一次*3.2然后是小括号里面*\\/表示匹配 / 号*[ ]* 表示匹配中括号里面的 0-n次*3.3中括号里面*\w-?=&/:.# 表示匹配 `数字` 或 `大小写字母` 或 `下划线` 或 `-` 或 `?` 或 `=` 或 `&` 或 `/` 或 `:` 或 `.` 或 `#`*/String regStr="^((https|http)://)([\\w-]+\\.)+[\\w-]+(\\/[\\w-?=&/:.#]*)?$";//注意:中括号里面的字符都是它本省的含义,不用转义Pattern pattern = Pattern.compile(regStr);Matcher matcher = pattern.matcher(content3);if (matcher.find()) {System.out.println("满足格式");} else {System.out.println("不满足格式");}}}
day51-正则表达式02

文章插图
注意:中括号里面的字符都是它本省的含义,不用转义

经验总结扩展阅读