替换3个不同字符串之后的双引号之间的字符串
Replace string after 3 different strings and between double quotes
我再次需要您的regex帮助。
我有这个字符串:
一些字符串
text1
name="yyy",path="C:''asdf/qwer.jpg"type="jjj">
text2
name="3yu",path="C:''asdf/12t2.mov"type="uuu">
到目前为止,我有一个正则表达式:
/'b(string'b(.|'n)*?)'btext1'b/
现在,我需要替换text1
的路径,因此输出将是:
一些字符串
text1
name="yyy",path=">D:/here/is/my/nother/path.png"type="jjj">
text2
name="3yu",path="C:''asdf/12t2.mov"type="uuu">
我知道我也需要使用这个(lmk如果我错了,还有什么更好的使用?(:
/".*?"/
或:
/"[^"]*"/
但是我该如何告诉它按照我的需要进行替换呢?
您可以通过以下方式替换该字符串:
var re = /(string['s'S]*?text1['s'S]*?'bpath=")[^"]+/;
var str = 'some string'n'ntext1'n'nname="yyy", path="C:/asdf/qwer.jpg" type="jjj"'n'ntext2'n'nname="3yu", path="C:/asdf/12t2.mov" type="uuu"';
var subst = '$1D:/here/is/my/another/path.png';
document.write(str.replace(re, subst).replace(/'n/g,"<br/>"));
正则表达式是
/(string['s'S]*?text1['s'S]*?'bpath=")[^"]+/
解释:
(string['s'S]*?text1['s'S]*?'bpath=")
-一个捕获组,它将文本捕获到组1中,我们稍后将在替换字符串中使用$1
反向引用来引用该组。它匹配:string
-文字string
['s'S]*?
-任意0个或多个字符,尽可能少text1
-text1
['s'S]*?
-任意0个或多个字符,尽可能少'bpath="
-将path="
与path
之前的非单词字符(例如空格(进行字面匹配(如果它是较长单词的一部分,则可以将其删除(
[^"]+
-除"
之外的1个或多个字符
('bstring'b['s'S]*?'btext1'b(?:(?!'btext'd+'b)['s'S])*path=")[^"]*
你可以用这个。替换为$1mypath
。请参阅演示。
https://regex101.com/r/fX3oF6/3
var re = /('bstring'b['s'S]*?'btext1'b(?:(?!'btext'd+'b)['s'S])*path=")[^"]*/g;
var str = 'some string'n'n text1'n'n name="yyy", path="C:/asdf/qwer.jpg" type="jjj"'n'n text2'n'n name="3yu", path="C:/asdf/12t2.mov" type="uuu"'n';
var subst = ' $1mypath';
var result = str.replace(re, subst);
相关文章:
- 是否有任何JavaScript UI组件可以显示字符串之间的差异
- 使用Javascript获取两个字符串之间的字符串数组
- 如何在 javascript 中使用正则表达式在其他两个字符串之间找到一个字符串
- javascript:获取特定字符串之间的字符串
- Javascript Regex匹配两个字符串之间的子字符串,但子字符串可以包含DOT(.)
- 在jQuery或JavaScript中获取两个字符串之间的文本
- 在维护标识标签的字符串之间进行重复数据消除
- 在jQuery中,可以在字符串之间添加条件逻辑吗
- 什么's特征检测、特征推断和使用UA字符串之间的区别
- 替换两个字符串之间的多行文本
- 数组值和字符串之间的 JavaScript 比较
- 正则表达式获取两个字符串之间的所有字符串
- 如何使用正则表达式获取两个特定字符串之间的字符串
- 如何使用 javascript 删除字符串之间的标记
- 如何使用nodejs在两个字符串之间选择文本
- 正则表达式在字符串中搜索两个字符串之间的内容
- 查找/获取字符串之间的特定字符串
- Javascript 正则表达式替换 2 个字符串之间的字符串
- 匹配两个字符串之间的字符串
- 在 JavaScript 代码中的注释字符串之间匹配文本