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

时间:2011-03-30 08:31:59

标签: javascript regex jslint

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

srcTemplate.replace(/{x}/g, tileX);

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

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

1 个答案:

答案 0 :(得分:6)

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

/\{x\}/

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

通常,您使用花括号作为量词。例如,x{3}匹配xxx; x{3,5}匹配xxxxxxxxxxxx,依此类推。