“正则表达式 验证复杂URL”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) |
Jihongchang(讨论 | 贡献) |
||
第120行: | 第120行: | ||
满足格式 | 满足格式 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | |||
+ | === 匹配域名后面的路径和参数 === | ||
+ | '''<big>注意:当?出现在[]中,它将仅代表字符 ?</big>''' |
2022年11月19日 (六) 07:35的版本
https://www.bilibili.com/video/BV1Eq4y1E79W/?p=17
先确定 URL 的开始部分
^((http|https)://)
示例:验证 https://
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegExp11 {
public static void main(String[] args) {
String content = "https://";
/**
* 思路:
* 1、先确定 url 的开始部分 https:// | http://
*/
String regStr = "^((http|https)://)$";
Pattern pattern = Pattern.compile(regStr);
Matcher matcher = pattern.matcher(content);
if (matcher.find()) {
System.out.println("满足格式");
} else {
System.out.println("不满足格式");
}
}
}
满足格式
示例:验证 http://
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegExp11 {
public static void main(String[] args) {
String content = "http://";
/**
* 思路:
* 1、先确定 url 的开始部分 https:// | http://
*/
String regStr = "^((http|https)://)$";
Pattern pattern = Pattern.compile(regStr);
Matcher matcher = pattern.matcher(content);
if (matcher.find()) {
System.out.println("满足格式");
} else {
System.out.println("不满足格式");
}
}
}
满足格式
确定域名的部分
([\w-]+\.)+[\w-]+
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";
/**
* 思路:
* 1、先确定 url 的开始部分 https:// | http:// ((http|https)://)
* 2、确定域名的部分 ([\w-]+\.)+[\w-]+
*/
String regStr = "^((http|https)://)([\\w-]+\\.)+[\\w-]+$";
Pattern pattern = Pattern.compile(regStr);
Matcher matcher = pattern.matcher(content);
if (matcher.find()) {
System.out.println("满足格式");
} else {
System.out.println("不满足格式");
}
}
}
满足格式
匹配域名后面的路径和参数
注意:当?出现在[]中,它将仅代表字符 ?