如何编写正确的正则表达式,以便JSLint验证?

mil*_*den 1 javascript regex jslint

我在替换函数中使用了一个非常简单的正则表达式,导致JSLint.com报告错误:

srcTemplate.replace(/{x}/g, tileX);
Run Code Online (Sandbox Code Playgroud)

在互联网上快速搜索提出了很多建议,但没有人回答我的问题:

如何增强正则表达式,以便JSLint验证并且该函数将继续工作?

Tim*_*ker 6

正则表达式/{x}/无效,因为花括号在正则表达式中具有特殊含义.一些正则表达式引擎仍然可以将它视为有效的正则表达式,假设您可能意味着文字花括号而不是量词,但是JSLint在这里可能更严格.因此,如果您计划匹配文字{x},则需要正则表达式

/\{x\}/
Run Code Online (Sandbox Code Playgroud)

为了安全起见(虽然目前还不清楚为什么你需要一个正则表达式,因为它是一个简单的文本替换).

通常,您使用花括号作为量词.比如x{3}匹配xxx; x{3,5}相匹配xxx,xxxx并且xxxxx,等等.