mil*_*den 1 javascript regex jslint
我在替换函数中使用了一个非常简单的正则表达式,导致JSLint.com报告错误:
srcTemplate.replace(/{x}/g, tileX);
Run Code Online (Sandbox Code Playgroud)
在互联网上快速搜索提出了很多建议,但没有人回答我的问题:
如何增强正则表达式,以便JSLint验证并且该函数将继续工作?
正则表达式/{x}/无效,因为花括号在正则表达式中具有特殊含义.一些正则表达式引擎仍然可以将它视为有效的正则表达式,假设您可能意味着文字花括号而不是量词,但是JSLint在这里可能更严格.因此,如果您计划匹配文字{x},则需要正则表达式
/\{x\}/
Run Code Online (Sandbox Code Playgroud)
为了安全起见(虽然目前还不清楚为什么你需要一个正则表达式,因为它是一个简单的文本替换).
通常,您使用花括号作为量词.比如x{3}匹配xxx; x{3,5}相匹配xxx,xxxx并且xxxxx,等等.