2012-02-04 60 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