0 0

正则表达式匹配URL10

请教一个javascript正则表达式匹配URL
URL格式如下:
http://11.12.13.14:9091/FileServer/fileupload?path=/aa/bb/cc/backup/log/test.log
rtsp://20.0.1.15/88888888/16/20121215/268435462/268435462.ts
协议也可能是:https | http | ftp | rtsp | igmp | file | rtspt | rtspu
1、主要是要匹配URL最后面的文件,URL最后的斜杠后面必须要有文件,不限制文件格式;
2、匹配前面的协议部分、支持IP路径等,其他部分次要。
求大神解决!!!
2013年3月05日 18:45

4个答案 按时间排序 按投票排序

0 0

采纳的答案

(https|http|ftp|rtsp|igmp|file|rtspt|rtspu)://((((25[0-5]|2[0-4]\d|1?\d?\d)\.){3}(25[0-5]|2[0-4]\d|1?\d?\d))|([0-9a-z_!~*'()-]*\.?))([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.([a-z]{2,6})(:[0-9]{1,4})?([a-zA-Z/?_=]*)\.\w{1,5}


(https|http|ftp|rtsp|igmp|file|rtspt|rtspu)匹配 协议部分

(((25[0-5]|2[0-4]\d|1?\d?\d)\.){3}(25[0-5]|2[0-4]\d|1?\d?\d))匹配IP地址部分
([0-9a-z_!~*'()-]*\.?))([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.([a-z]{2,6}) 匹配域名部分
(:[0-9]{1,4})?匹配端口号可要可不要
([a-zA-Z/?_=]*)匹配端口号位置到点号部分的内容
\.\w{1,5}匹配点后缀

2013年3月06日 11:11
0 0

var str="ftp://www.iteye.com/999aa.action/20121215/268435462/js_1.6.4.tar.gz";  
var urlReg=new RegExp(/(?:http|ftp|rtsp|rtsp|igmp|file|rtspt|rtspu):\/\/[^\/]+(\/.*)?\/([^\/]+\.[^\/\.]+)$/);  
 str.match(urlReg);  


在写表达式的时候 先看一下你的需求

1、主要是要匹配URL最后面的文件,URL最后的斜杠后面必须要有文件,不限制文件格式; 
2、匹配前面的协议部分、支持IP路径等,其他部分次要。 


只需要判断符合URL格式 ,最后以文件格式结束

1:基本忽略URL的前缀 (根据需求 前缀没有利用价值,
其实可以用[a-zA-Z0-9]+ 来表示,考虑到特殊的、自定义的前缀所以放弃了  )
2: 忽略域名+IP 端口 (还是没有 利用价值)
3: 可以包含.action | .do 等方法后缀
4: 文件判断的时候 能包含文件后缀存在多个点的情况 eg: jdk1.6_4.tar.gz

2013年3月08日 10:50
0 0

(https|http|ftp|rtsp|igmp|file|rtspt|rtspu)://((((25[0-5]|2[0-4]\d|1?\d?\d)\.){3}(25[0-5]|2[0-4]\d|1?\d?\d))|(([0-9a-z_!~*'()-]*\.?))([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.([a-z]{2,6}))(:[0-9]{1,4})?([a-zA-Z0-9/?_=.]*\.\w{1,5})

正确的答案

2013年3月06日 11:30
0 0

 


var str="ftp://20.0.1.15/999aa/20121215/268435462/js_1.6.4.tar.gz";
var urlReg=new RegExp(/(?:http|ftp|rtsp):\/\/[^\/]+\/([^\.]*)\/([^\/]+\.[^\/\.]+)$/);
var flag=!!str.match(urlReg);
alert(flag);



经测试:
rtsp://20.0.1.15/88888888/16/20121215/268435462/268435462.log
http://20.0.1.15/a?path=/20121215/268435462/268435462.log
ftp://20.0.1.15/999aa/20121215/268435462/js_1.6.4.tar.gz

皆弹出true

2013年3月06日 10:31

相关推荐

    vb正则表达式实例(正则表达式测试程序)

    在VB.NET中,正则表达式(Regular Expression)是一种强大的文本处理工具,它允许程序员通过模式匹配来处理字符串。这个“vb正则表达式实例”很可能是为了帮助开发者测试和理解正则表达式的工作原理而设计的一个应用...

    cpp-Hyperscan高性能正则表达式匹配库

    《深入理解cpp-Hyperscan:高性能正则表达式匹配库的探索与实践》 在软件开发中,正则表达式是处理文本数据不可或缺的工具,它能够高效地进行模式匹配和搜索。然而,对于大规模数据的处理,传统的正则表达式库可能...

    Lucene 使用正则表达式

    定义了一个正则表达式,用于匹配以“abc.com”结尾且域名由1到3个小写字母组成的URL。然后,创建了一个`Term`对象,并将其传递给`RegexQuery`构造函数。 4. **执行查询**: ```java Hits hits = searcher.search...

    正则表达式大全 - 收集的最常用正则表达式

    3. 匹配空白行:`ns*r` - 此正则表达式匹配包含任意数量空格、制表符或其他空白字符的行。`n`匹配换行符,`s`匹配任何空白字符,`*`表示前面的元素可以出现零次或多次,`r`在某些环境(如Python)中代表换行符。 4....

    正则表达式大全.docx

    $/` - 此正则表达式匹配完整的URL,包括HTTP或HTTPS协议、域名和可选路径。 6. IP 地址:`/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/` - 用于验证IPv4地址的...

    Linux在合集中使用正则表达式来匹配查找.zip

    最后,“正则表达式基础_Linux_实验楼 - 实验楼.url”可能指向一个在线实验平台,提供实际操作的环境,让读者能够动手实践,巩固所学的正则表达式知识。 综上所述,这个压缩包文件合集详细地介绍了Linux环境中如何...

    url正则表达式

    在IT行业中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换等操作。在本主题中,我们重点关注“url正则表达式”,它主要用于验证、提取或操作URL(统一资源定位符)。URL是...

    易语言正则表达式文本替换

    正则表达式(Regular Expression)是一种模式匹配工具,用于对字符串进行搜索、查找、替换等操作。在易语言中,正则表达式主要通过内置的函数和模块来实现。例如,"子程序_正则文本替换"可能就是一个易语言中用于...

    网址正则表达式匹配方法

    本文将深入探讨网址正则表达式匹配方法,尤其关注如何在JavaScript中实现这一功能。 ### 网址正则表达式匹配的重要性 网址(URL)是互联网上资源的位置标识符。在网页表单、链接检查、数据清洗等多种场景下,正确...

    正则表达式自动生成器 V2.0.0.1 官方多语版

    正则表达式(Regular Expression)是一种模式匹配语言,通过预定义的规则来识别和操作字符串。它由一系列特殊字符和组合构成,可以用来检查一个字符串是否符合特定的格式,或者从中提取所需的信息。例如,你可以用...

    正则表达式 必知必会 pdf

    无论是处理日志文件、数据验证、文本转换还是网络爬虫中的URL提取等,正则表达式都能提供高效、精确的解决方案。而正则表达式之所以为大多数人所知甚少,主要是因为缺乏质量高、易于理解的学习资源。不少教程或书籍...

    常用正则表达式大全.txt

    正则表达式是一种用于文本模式匹配的强大工具。通过定义一组规则来识别文本中的特定模式,正则表达式被广泛应用于各种场景,如数据验证、搜索替换等。 ### 数字验证 1. **纯数字验证**:只允许输入纯数字。 - ...

    正则表达式学习资料以及练习项目代码很多

    :%[0-9a-fA-F][0-9a-fA-F]))+'`匹配URL。 - **数字验证**:`r'^\d+$'`匹配整数,`r'^\d+\.\d+$'`匹配浮点数。 5. **实践应用** - **数据分析**:正则表达式可用于清洗和提取数据,例如从文本中提取电话号码、日期...

    delphi xe 10 正则表达式

    1. **Match**: 这个方法用于查找字符串中第一个与正则表达式匹配的部分。返回一个TMatch对象,包含了匹配的信息。 2. **Matches**: 这个方法用于查找字符串中所有与正则表达式匹配的部分。返回一个TMatchCollection...

    正则表达式大全 正则表达式 模式匹配 Javascript

    7. **匹配URL**: - 表达式:`http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?` - 用途:验证并提取完整的URL路径。 8. **提取页面名称**: - 示例代码: ```javascript var s = "http://www.9499.net/page1.htm"; ...

    如何写正则表达式,正则表达式常用实例

    * 使用正则表达式匹配字符串中的 URL: `(http|https)://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,}(/S*)?` * 使用正则表达式匹配字符串中的电话号码: `\d{3}-\d{8}` 结论 正则表达式是一种强大的字符串匹配工具,通过学习...

    正则表达式详解,附代码运行结果

    以下是一个简单的Python代码示例,演示如何使用正则表达式匹配URL: ```python import re html = """ <a href="http://example.com">Example <a href="https://www.google.com">Google """ # 匹配所有链接 ...

    源码(精通正则表达式&实战正则表达式)

    在IT领域,正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,用于匹配、查找、替换或提取字符串中的特定模式。本资源“源码(精通正则表达式&实战正则表达式)”专注于JavaScript环境下的正则...

    java_zhengze.rar_正则表达式_正则表达式 java

    正则表达式是编程语言中用于模式匹配和字符串处理的强大工具,在Java中也不例外。Java的正则表达式功能强大,可以用于验证输入、提取信息、替换文本等多种场景。本资料"java_zhengze.rar"提供了对Java正则表达式的...

    C正则表达式库

    例如,在Web服务器中,可以使用正则表达式库解析请求URL;在搜索引擎中,可以用来检索和过滤关键词;在文本编辑器中,可以实现查找和替换功能。 总的来说,GUN C的正则表达式库为C程序员提供了强大的字符串处理能力...

Global site tag (gtag.js) - Google Analytics