第一個字母應該是字母/數字和正斜槓,除了&和|長整型值的正則表達式停止腳本錯誤
new RegExp('^[\/A-Za-z0-9](([^\|\&]?[a-zA-Z0-9]?)*)$');
以上爲正確的格式和最小字符e.g(/ABCD%*)
正則表達式的工作,如果我給長字符e.g(/abcdabcdabcdabcdabcdabcdabcd &),停止在Firefox出現腳本錯誤。請提出一些更好的正則表達式修復它
第一個字母應該是字母/數字和正斜槓,除了&和|長整型值的正則表達式停止腳本錯誤
new RegExp('^[\/A-Za-z0-9](([^\|\&]?[a-zA-Z0-9]?)*)$');
以上爲正確的格式和最小字符e.g(/ABCD%*)
正則表達式的工作,如果我給長字符e.g(/abcdabcdabcdabcdabcdabcdabcd &),停止在Firefox出現腳本錯誤。請提出一些更好的正則表達式修復它
你的問題是捕獲組(括號內)。擺脫這些,它很好。儘可能簡單!
首字母應該是字母/數字[或]正斜槓
^[/A-Za-z0-9]
每一個特殊字符被允許,除了&和|
[^|&]+
(你不需要逃避|
或&
。)
將其組合在一起:
^[\/A-Za-z0-9][^|&]+$
試試吧here。
除了捕獲組之外,原始正則表達式還存在潛在的災難性回溯問題。 –
不需要轉義'/'(在第一個括號內)。 – Amit
哦,是啊!我一直以爲你做到了...... :) – benshepherd
如果你告訴我們你想匹配什麼樣的字符串,會更好。 –
@SalmanA只需看小提琴或帖子。他試圖與'/ abcdabcdabcdabcdabcdabcdabcd'匹配並且' – Magus