【发布时间】:2012-12-10 08:08:33
【问题描述】:
我需要一个匹配某个字符串的正则表达式,并用一个符号替换它的每个字母。
所以..."Cheese" 将被 "******" 替换,但 "Pie" 将被 "***" 替换
例如:
"my pie is tasty and so is cake".replace(new RegExp(/(pizza|cake|pie|test|horseshoe)/gi), "'*' x length($1)")
(显然替换不存在)
【问题讨论】:
-
在添加这样的过滤器之前请阅读en.wikipedia.org/wiki/Clbuttic和codinghorror.com/blog/2008/10/…。
-
另请参阅this Stack Overflow answer,以获得关于为什么这是一个死产的想法的最彻底的解释。如果你过滤 pie,人们会使用 рie,或 pіe,或 piе,或 ріе,或任何 数以千计 的其他技巧。 (您看不出它们之间的区别吗?正是!但是您的正则表达式会。)
标签: javascript regex