簡體   English   中英

未捕獲的SyntaxError:無效的正則表達式:無需重復

[英]Uncaught SyntaxError: Invalid regular expression: Nothing to repeat

這是我的正則表達式:

var newRegexp= new RegExp('\[\/\[\]\^\$\|\*\+\(\)\\~@#%&\-_+=\{}£<>]{1,}', 'g');

我得到了Uncaught SyntaxError: Invalid regular expression: Nothing to repeat ,我也不知道為什么。 我在RegExr上使用過它,效果很好。 任何幫助表示贊賞。

首先您有一個轉義符[應該開始一個范圍。 逃脫它。

還請注意,最好使用文字表示法(我還建議刪除不必要的轉義,因為這會使正則表達式不太可讀):

var newRegexp = /[\/\[\]^$|*+()\\~@#%&_+={}£<>-]+/g;

觀看演示

另外請注意,我換成{1,}+ ,因為它是短,並不意味着絕對相同。 如果將連字符放在字符類的末尾,則不必轉義。

您需要對\\類的字符進行兩次轉義,也需要在[]轉義大多數正則表達式特殊字符

new RegExp('[/\\[\\]^$|*+()~@#%&\\-_+={}£<>]{1,}', 'g');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM