首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JavaScript中使用正则表达式检测模式b.tech、m.tech等的问题

在JavaScript中使用正则表达式检测模式b.tech、m.tech等的问题
EN

Stack Overflow用户
提问于 2014-06-24 13:43:19
回答 1查看 54关注 0票数 0

我有一个正则表达式来检测字符串中的urls。

正则表达式为:

代码语言:javascript
复制
var urlRegex = /(https?\:\/\/|\s)[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})(\/+[a-z0-9_.\:\;-]*)*(\?[\&\%\|\+a-z0-9_=,\.\:\;-]*)?([\&\%\|\+&a-z0-9_=,\:\;\.-]*)([\!\#\/\&\%\|\+a-z0-9_=,\:\;\.-]*)}*/i;

if (urlRegex.test(text)) {
   textCrawler(text);

}

这项工作可以,但问题是,这也是检测b.tech,m.tech作为有效的URL。

我调用一个文本爬虫函数来预览字符串中的URL。问题是,如果字符串包含b.tech限定等,则会调用文本爬虫。

搜索了几个链接,但似乎没有一个完美的正则表达式来检测字符串中的URL。

EN

回答 1

Stack Overflow用户

发布于 2014-06-24 13:48:35

看看这个:In search of the perfect URL validation regex

这似乎是到目前为止最准确的:

代码语言:javascript
复制
var re_weburl = new RegExp(
  "^" +
    // protocol identifier
    "(?:(?:https?|ftp)://)" +
    // user:pass authentication
    "(?:\\S+(?::\\S*)?@)?" +
    "(?:" +
      // IP address exclusion
      // private & local networks
      "(?!(?:10|127)(?:\\.\\d{1,3}){3})" +
      "(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})" +
      "(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})" +
      // IP address dotted notation octets
      // excludes loopback network 0.0.0.0
      // excludes reserved space >= 224.0.0.0
      // excludes network & broacast addresses
      // (first & last IP address of each class)
      "(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])" +
      "(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}" +
      "(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))" +
    "|" +
      // host name
      "(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)" +
      // domain name
      "(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*" +
      // TLD identifier
      "(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))" +
    ")" +
    // port number
    "(?::\\d{2,5})?" +
    // resource path
    "(?:/[^\\s]*)?" +
  "$", "i"
);

来源:dperini's gist

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24379098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档