2011-03-30 61 views
1

我用一个很简单的正则表达式中引起JSLint.com报告差错的替换功能:如何编写正确的正则表达式以便JSLint进行验证?

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

在互联网快速搜索给了很多建议,但他们没有回答我的问题:

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

+1

jslint报告什么错误? – 2011-03-30 08:33:34

回答

6

正则表达式/{x}/无效,因为大括号在正则表达式中有特殊含义。一些正则表达式引擎可能仍然认为它是一个有效的正则表达式,假设你可能指的是字面花括号而不是量词,但也许JSLint在这里更严格。所以,如果你打算匹配一个{x},你需要的正则表达式

/\{x\}/ 

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

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

+0

非常感谢Pietzcker!我会评估你的解决方案,并尝试一个简单的替换函数,看看什么对我最好,但现在,你帮了我很多。 – milovanderlinden 2011-03-30 20:38:01