“正则表达式 验证复杂URL”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
第2行: 第2行:
  
 
=== 先确定 URL 的开始部分 ===
 
=== 先确定 URL 的开始部分 ===
 +
^((http|https)://)
  
 
==== 示例:验证 https:// ====
 
==== 示例:验证 https:// ====
第82行: 第83行:
  
 
=== 确定域名的部分 ===
 
=== 确定域名的部分 ===
<syntaxhighlight lang="java">
+
([\w-]+\.)+[\w-]+<syntaxhighlight lang="java">
 
import java.util.regex.Matcher;
 
import java.util.regex.Matcher;
 
import java.util.regex.Pattern;
 
import java.util.regex.Pattern;

2022年11月19日 (六) 07:31的版本

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("不满足格式");

        }

    }

}
满足格式