正则表达式为url后跟某些文本

时间:2015-10-16 14:03:42

标签: javascript regex url

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\=$].*$

但它不起作用。

请帮忙

2 个答案:

答案 0 :(得分:1)

您可以使用:

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

答案 1 :(得分:0)

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

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&