返回

正则表达式教程:视频链接地址匹配

正则表达式

一、正则解释

正则表达式:/^https?://(.+/)+.+(.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4))$/i

含义:

  • ^:表示行首
  • https?: 表示以http或https开头
  • //:表示双斜杠
  • (.+/):匹配路径,由一个或多个字符组成,后面跟着一个斜杠,表示目录
  • +:表示前面的表达式可以匹配一次或多次
  • .+:匹配文件名,由一个或多个字符组成
  • .:匹配点号
  • (swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4):匹配视频文件格式,用竖线分隔
  • $:表示行尾
  • i:表示不区分大小写

二、使用场景

该正则表达式可用于以下场景:

  • 验证视频链接地址是否有效
  • 从文本中提取视频链接地址
  • 按视频格式过滤链接地址

三、代码示例

JavaScript

const regex = /^https?:\/\/(.+\/)+.+(\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4))$/i;

const link = 'http://www.abc.com/video/wc.avi';

if (regex.test(link)) {
  // 视频链接地址有效
}

Java

import java.util.regex.Pattern;

public class VideoLinkMatcher {
    public static void main(String[] args) {
        String regex = "^https?:\\/\\/(.\\+\\/)+.+\\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4)
import java.util.regex.Pattern;

public class VideoLinkMatcher {
    public static void main(String[] args) {
        String regex = "^https?:\\/\\/(.\\+\\/)+.+\\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4)$";
        Pattern pattern = Pattern.compile(regex);

        String link = "http://www.abc.com/video/wc.avi";

        boolean isMatch = pattern.matcher(link).matches();
        if (isMatch) {
            // 视频链接地址有效
        }
    }
}
quot;
; Pattern pattern = Pattern.compile(regex); String link = "http://www.abc.com/video/wc.avi"; boolean isMatch = pattern.matcher(link).matches(); if (isMatch) { // 视频链接地址有效 } } }

PHP

<?php
$regex = '/^https?:\/\/(.+\/)+.+(\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4))$/i';

$link = 'http://www.abc.com/video/wc.avi';

if (preg_match($regex, $link)) {
    // 视频链接地址有效
}

Python

import re

regex = r'^https?:\/\/(.+\/)+.+(\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4))
import re

regex = r'^https?:\/\/(.+\/)+.+(\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4))$'

link = 'http://www.abc.com/video/wc.avi'

if re.match(regex, link):
    # 视频链接地址有效
#x27;
link = 'http://www.abc.com/video/wc.avi' if re.match(regex, link): # 视频链接地址有效