day51-正则表达式02( 二 )

例子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

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

推荐阅读