搜索/将自定义标记替换为 javascript 正则表达式
Search/Replace a custom marker with javascript regex
在文本字符串中,我想查找任何出现的[[mymarker-id]]并将其替换为自定义html字符串:
'<div>id</div>'
例如:
"this is a sample text [[mymarker-123_4Efd]] for illustration purpose"
会成为
"this is a sample text <div>123_4Efd</div> for illustration purpose"
ID 为 8 个字符长的字符串匹配:([a-zA-Z0-9_-]){8}
我希望我可以说我在问之前尝试了很多事情,但我对正则表达式很糟糕
捕获 8 个字符的长Id
,并将自定义 HTML 中的Id
替换为捕获的文本。
var marker = "this is a sample text [[mymarker-123_4Efd]] for illustration purpose"
marker.replace(/'['[mymarker-(.{8})']']/, '<div>$1</div>')
或者,如果自定义 HTML 是动态构造的:
var customHtml = '<div>id</div>';
var id = marker.match(/'['[mymarker-(.{8})']']/)[1];
customHtml = customHtml.replace('id', id);
jsBin 演示
使用此正则表达式:
'['[mymarker'-([^']]+)']']
var str = "this is a sample text [[mymarker-123_4Efd]] for illustration purpose";
var regex = /('['[mymarker'-)([^']]+)']']/;
str = str.replace(regex, "<div>$2</div>");
var re = /'['[mymarker-123_4Efd']']/gi;
var str = "this is a sample text [[mymarker-123_4Efd]] for illustration purpose";
var newstr = str.replace(re, "<div>123_4Efd</div>");
console.log(newstr);
必须使用反斜杠转义 [ 和 ] 符号
相关文章:
- 如何替换JavaScript字符串中除字母和数字之外的所有内容(空格/符号)
- 用Javascript按钮替换Javascript超链接
- Firebase推送;t添加但替换(JavaScript)
- 如何替换javascript字符串中的前三个连字符
- 用jquery替换javascript语法
- jQuery.html()赢得't替换javascript图表
- 如何替换javascript canas
- 替换 JavaScript 中的一些字符串
- 替换Javascript中包含星号的字符串
- 随机替换 JavaScript 或 jQuery 中文本块中的子字符串
- 替换 JavaScript 中出现的所有字符串不起作用
- 为什么不能使用 document.getElementById 来替换 JavaScript 中的 $
- 合并/替换Javascript数组
- 无法替换Javascript中对象数组的键
- 可以用两个搜索值替换JavaScript.replacement函数
- 字符串替换javascript
- 正则表达式:替换javascript中的字符串
- 替换javascript中拆分后的值
- regex替换javascript返回整个值
- 用正则表达式替换javascript