我正在使用從regexlib獲取的正則表達式模式來驗證相關URL。在他們的網站上,您可以test模式來確保它符合您的需求。一切都在其網站上的偉大工程,只要我在我的使用模式我收到錯誤消息:Javascript正則表達式在字符類中的無效範圍
範圍無效字符類
我知道這個錯誤通常意味着一個連字符錯誤地被用來表示一個範圍,並沒有適當地逃脫。但在這種情況下,因爲它在他們的網站上工作,我很困惑爲什麼它不適用於我的網站。
var urlRegex = new RegExp('^(?:(?:\.\./)|/)?(?:\w(?:[\w`~!$=;\-\+\.\^\(\)\|\{\}\[\]]|(?:%\d\d))*\w?)?(?:/\w(?:[\w`~!$=;\-\+\.\^\(\)\|\{\}\[\]]|(?:%\d\d))*\w?)*(?:\?[^#]+)?(?:#[a-z0-9]\w*)?$', 'g');
注: 如果你打算從他們的網站測試正則表達式(使用上面的鏈接),務必將Regex Engine
下拉菜單Client-side Engine
和Engine
下拉菜單更改爲Javascript
。
我把它移到兩個字符類結束,但現在我得到'無效quantifier' – bflemi3
不能我也加倍逃避連字符,即('\\ -')而不是將它移動到最後? – bflemi3
@ bflemi3是的,你確實可以逃脫它..檢查出我在ans – Anirudha