如题, 正则将字符串:
zzzzzzz[a]123[/a],zzz[a]123[/a]
替换为:
zzzzzzz<a>123</a>,zzz<a>123</a>
如题, 正则将字符串:
zzzzzzz[a]123[/a],zzz[a]123[/a]
替换为:
zzzzzzz<a>123</a>,zzz<a>123</a>
如果用python的话,都不需要正则:
src = 'zzzzzzz[a]123[/a],zzz[a]123[/a]'
# 1
print(src.replace('[','<').replace(']','>'))
# 2
intab = "[]"
outtab = "<>"
trantab = str.maketrans(intab, outtab)
print(src.translate(trantab))
'zzzzzzz[a]123[/a],zzz[a]123[/a]'.replace(/\[(.*?)\]/g,'<$1>')
'zzzzzzz[a]123[/a],zzz[a]123[/a]'.replace(/\[([^\[\]]*?)\]/g,'<$1>')
如果只是简单的把[
替换成<
,]
替换成>
。可以用下面方案。
var str = 'zzzzzzz[a]123[/a],zzz[a]123[/a]';
var result = str.replace(/(\[|\])/g,($0 => {
var escapeChars = {
'[': '<',
']': '>',
}
console.log($0);
return escapeChars[$0];
})
console.log(result);
// 也可以加上全局匹配写成跟二楼python的回答类似。
另外:@sarike 的正则可以优化为/\[([^\[\]]*)\]/
10 回答11.1k 阅读
15 回答8.4k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
8 回答6.2k 阅读
2 回答2.6k 阅读✓ 已解决