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