【问题标题】:Regex for url followed by certain texturl 的正则表达式,后跟某些文本
【发布时间】:2016-01-15 07:43:26
【问题描述】:
https://drive.google.com/open?id=0B2bi70xUVP_QeFVjOUdjRXNWNlU

我想把上面的替换成

http://drive.google.com/uc?export=view&id=0B2bi70xUVP_QeFVjOUdjRXNWNlU

我正在尝试创建一个正则表达式来检测第一个字符串

我的正则表达式:

^(http|https):[^\/\/drive\.google\.com\/open\?^id\=$].*$

但它不起作用。

请帮忙

【问题讨论】:

  • 你用的是什么正则表达式工具?
  • 删除第二个^:regexr.com/3c0h5

标签: javascript regex url


【解决方案1】:

这很无聊,但应该可以满足您的需求:

var text = 'https://drive.google.com/open?id=0B2bi70xUVP_QeFVjOUdjRXNWNlU';
var result = text.replace('https', 'http').replace('open?', 'uc?export=view&');

https://jsfiddle.net/b46have5/

您似乎只想将 https 替换为 http 并将 open? 替换为 uc?export=view&。

【讨论】:

    【解决方案2】:

    你可以使用:

    var str = 'https://drive.google.com/open?id=0B2bi70xUVP_QeFVjOUdjRXNWNlU';
    
    var result = str.replace(/^https?(:\/\/drive\.google\.com\/)open\?(id=[^&]+)$/,
                 'http$1uc?export=view&$2');
    

    RegEx Demo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-16
      • 1970-01-01
      • 2011-02-15
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多