Javascript 复杂正则表达式模式
至少对我来说是一个复杂的正则表达式。这是我的一个字符串:Javascript 复杂正则表达式模式,javascript,regex,Javascript,Regex,至少对我来说是一个复杂的正则表达式。这是我的一个字符串: /wp-content/themes/modern2/timthumb.php?src=http://www.cnn.com/storyimages/4C59D569-7749-F32B.jpg&h=442&w=642&zc=1&s=2 我想做的是将该字符串中包含的url更改为我选择的另一个url http://www.cnn.com/storyimages/4C59D569-7749-F32B.jpg
/wp-content/themes/modern2/timthumb.php?src=http://www.cnn.com/storyimages/4C59D569-7749-F32B.jpg&h=442&w=642&zc=1&s=2
我想做的是将该字符串中包含的url更改为我选择的另一个url
http://www.cnn.com/storyimages/4C59D569-7749-F32B.jpg
到
我不知道如何在src=和&h之间正则表达式匹配/替换数据=
谢谢你的帮助 必须用正则表达式完成吗
function replaceURL(sourceURL, newPart) {
var beforeSrc = sourceURL.split('?src=')[0];
var afterH = sourceURL.split('&h=')[1];
return beforeSrc + '?src=' + newPart + '&h=' + afterH;
}
那就打电话吧
replaceURL(
'/wp-content/themes/modern2/timthumb.php?src=http://www.cnn.com/storyimages/4C59D569-7749-F32B.jpg&h=442&w=642&zc=1&s=2',
'http://upload.wikimedia.org/wikipedia/commons/2/20/Google-Logo.svg'
);
请注意,这是有效的,因为在有效的URL中,
?src
子字符串不能比预期的时间更早出现,也不能晚于&h
出现。必须使用regex完成吗
function replaceURL(sourceURL, newPart) {
var beforeSrc = sourceURL.split('?src=')[0];
var afterH = sourceURL.split('&h=')[1];
return beforeSrc + '?src=' + newPart + '&h=' + afterH;
}
那就打电话吧
replaceURL(
'/wp-content/themes/modern2/timthumb.php?src=http://www.cnn.com/storyimages/4C59D569-7749-F32B.jpg&h=442&w=642&zc=1&s=2',
'http://upload.wikimedia.org/wikipedia/commons/2/20/Google-Logo.svg'
);
请注意,这是有效的,因为在有效的URL中,
?src
子字符串不能比预期的时间更早出现,也不能晚于&h
出现。可能不需要使用正则表达式,但由于您要求
var str = '/wp-content/themes/modern2/timthumb.php?src=http://www.cnn.com/storyimages/4C59D569-7749-F32B.jpg&h=442&w=642&zc=1&s=2'
var url = 'http://upload.wikimedia.org/wikipedia/commons/2/20/Google-Logo.svg'
str = str.replace(/src=(.*?)&/, 'src=' + url +'&')
输出:
/wp-content/themes/modern2/timthumb.php?src=http://upload.wikimedia.org/wikipedia/commons/2/20/Google-Logo.svg&h=442&w=642&zc=1&s=2
可能没有必要使用正则表达式,但既然您要求
var str = '/wp-content/themes/modern2/timthumb.php?src=http://www.cnn.com/storyimages/4C59D569-7749-F32B.jpg&h=442&w=642&zc=1&s=2'
var url = 'http://upload.wikimedia.org/wikipedia/commons/2/20/Google-Logo.svg'
str = str.replace(/src=(.*?)&/, 'src=' + url +'&')
输出:
/wp-content/themes/modern2/timthumb.php?src=http://upload.wikimedia.org/wikipedia/commons/2/20/Google-Logo.svg&h=442&w=642&zc=1&s=2
您希望使用如下常规表达式:
src=([^&$]+)
以下是示例和示例。您希望使用如下常规表达式:
src=([^&$]+)
以下是示例。Eh,忘记添加分隔符了,src上的大小写错误。。。已编辑,现在应该可以了。一个人不能简单地写代码而不首先测试:(谢谢!这很好地工作了,忘记了添加分隔符,src上的大小写错误…编辑,现在应该可以了。一个人不能简单地写代码而不首先测试:(谢谢!这很好地工作了。)