簡體   English   中英

需要JavaScript正則表達式的幫助:正則表達式太復雜

[英]Need help with JavaScript Regular Expression:Regular Expression Too Complex

遵循正則表達式^[0-9A-Za-z]+(\\s)*(-?(\\s)*[0-9A-Za-z]+)*$在大多數情況下都是匹配的,例如"dsffsd-fdsfds-dasda" ,但當我將字符串匹配為"dsffsd-fdsfds-dasda-dasdas--dasdas-dsfs" ,螢火蟲中出現錯誤,提示正則表達式太復雜。

任何幫助,將不勝感激,在此先感謝

正則表達式屬於災難性回溯 ,這就是您收到此錯誤的原因。 請注意,您的字符串與該模式不匹配,因為該模式不允許使用兩個連字符: --

我能夠將模式簡化為:

/^\w(?:-?\s*\w)*$/

如果我做對了,此模式僅允許一種匹配每個字符串的方式,因此它不會遇到相同的問題。
如果您不需要這樣的約束,則可以非常簡單地將模式,例如/^[\\w\\s\\-]*$/
請注意, \\w也與下划線匹配,但是如果需要的話,應該很容易更正。

暫無
暫無

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

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