Javascript正则表达式替换字母数字字符串之间的单个字符
Javascript regex replacement of single character between alphanumeric strings.
我需要通过regex做一个字符串替换/替换,我只是不能弄清楚。
字符串格式如下:http[s]://assets.example.com/images/[8 or 9 alphanumberic chars]m/[ 8 or 9 different alphanumeric chars].jpg
我要替换的字符是两个字母数字字符串中间的m
。
这是我正在尝试做的一个例子。
http://assets.example.com/images/11233434m/23435436.jpg
,我想把它变成http://assets.example.com/images/11233434l/23435436.jpg
我熟悉str.replace
,我只是不能想出一个工作的正则表达式,而不替换不正确的字符(如example.com/
中的最后一个m
)
试着看看是否有帮助
var url = "http://assets.example.com/images/11233434m/23435436.jpg";
url.replace(/images'/([a-zA-Z0-9]{8,9})(m)'//, function(total, g1, g2) {
//console.log(total, g1, g2);
return 'images/' + g1 + "l/";
})
下面的代码应该可以工作:
var str1 = "http://assets.example.com/images/11233434m/23435436.jpg";
var patt = /(http:'/'/assets'.example'.com'/images'/[a-zA-Z0-9]{8,9})m('/[a-zA-Z0-9]{8,9}'.jpg)/;
var mats = patt.exec(str);
var str2 = mats[1]+"l"+mats[2];
逻辑很简单。因为[a-zA-Z0-9]{8,9}
匹配8或9个字母数字字符,所以我代码中的正则表达式patt
匹配的字符串与您描述的完全相同。它还捕获在不正确的m
之前的字符串部分和在它之后的字符串部分。然后我们只是连接第一部分,一个l
和第二部分。
我相信这是你想要的
- 查找
(https?:'/'/assets'.example'.com'/images'/[a-zA-Z0-9]{8,9})m('/[a-zA-Z0-9]{8,9}'.jpg)
- 替换为:
$1l$2
- 试试吧:http://regex101.com/r/oO4sO5/4
免费间隔:
(http #Open capture, "http"
s?:'/'/ #Optional "s", required "://"
assets'.example'.com'/images'/ #literal portion
[a-zA-Z0-9]{8,9}) #8-or-9 alpha-num chars, end capture
m #"m"
('/ #Start capture, "/"
(?:[a-zA-Z0-9]{8,9})'.jpg) #8-or-9 alpha-num chars, ".jpg", end capture
请考虑收藏堆栈溢出正则表达式常见问题解答,以备将来参考。
下面是一个有效的正则表达式:
var str = 'http://assets.example.com/images/11233434m/23435436.jpg';
var replaced = str.replace(/(https?:'/'/assets'.example'.com'/images'/[a-zA-Z0-9]{8,9})m('/[a-zA-Z0-9]{8,9}'.jpg)/, '$1l$2')
相关文章:
- 是否有任何JavaScript UI组件可以显示字符串之间的差异
- jQuery在两个字符串标识符之间选择HTML
- 使用Javascript获取两个字符串之间的字符串数组
- Json和$scope的角度之间的差异$eval应用于JSON字符串时
- 如何使用JavaScript Regex替换字符串中双引号之间的文本
- 如何在jQuery中搜索两个字符之间的字符串
- 我可以在两个javascript文件之间传递一个字符串吗?
- 使用 JavaScript 中的正则表达式替换大文本中两个字符之间的每个出现的字符串
- 如何通过jQuery Ajax在HTML和PHP之间来回传输json字符串
- 如何在 javascript 中使用正则表达式在其他两个字符串之间找到一个字符串
- 删除两个字符串正则表达式之间的所有内容
- javascript:获取特定字符串之间的字符串
- 在第二次出现时提取方括号之间的字符串
- 如何在JavaScript中返回两个日期(当前日期和输入日期)之间的字符串差异
- Javascript Regex匹配两个字符串之间的子字符串,但子字符串可以包含DOT(.)
- 在jQuery或JavaScript中获取两个字符串之间的文本
- JavaScript函数,用于在全宽度和半宽度形式之间转换UTF8字符串
- Regex表达式,用于替换两个字符(包括字符)之间的字符串
- 如何删除两个单词之间的字符串
- 获取数字之间字符串的内容