2012-02-04 64 views
-1

我有这样的正则表达式正则表达式不匹配

this.value = this.value.replace(/(^((?!(\n|[0-9])).)*$)/mg,''); 

替换除了数字和新线的一切。
         问题是,如果我有像这样的字符串:word_and_numbers123123123 RegExp不会替换字母。

每一件事情

/(^((?!(HERE)).)*$)/ 

是,据我所知,删除。

林只需使用\n|[0-9] 其中“HERE”是,所以,全正则表达式:

/(^((?!(\n|[0-9])).)*$)/ 


但问题再次,它的正则表达式,不例如删除%$word此字符串:%$word_2143234

+1

你的正则表达式表示,该字符串不能包含数字和换行符inits全部(^至$),所以任何数字的字符串的任何地方杀死了比赛。 – dasblinkenlight 2012-02-04 18:31:01

回答

4

也许我误解了。为什么不简单地进行替换而没有负面展望呢?

这应该更换

一切,除了数字和新的生产线。

this.value = this.value.replace(/([^\r\n\d]+)/g,''); 
+0

谢谢你完美的作品! – richie 2012-02-05 08:35:27