返回
正则表达式教程:视频链接地址匹配
正则表达式
2024-02-28 15:54:54
一、正则解释
正则表达式:/^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):
# 视频链接地址有效