我從來沒有想過使用正則表達式,所以我有一個問題,理解爲什麼我下面列出的正則表達式。沒有隻允許下列字符:正則表達式:爲什麼我的正則表達式過濾不正確?
- AZ & AZ(上&下)
- AAO & AAO
- 0-9 &下劃線(_)
這裏的正則表達式:
/^[\s\da-0-9-zA-ZåäöÅÄÖ_]$/i
什麼我做錯了嗎?
我從來沒有想過使用正則表達式,所以我有一個問題,理解爲什麼我下面列出的正則表達式。沒有隻允許下列字符:正則表達式:爲什麼我的正則表達式過濾不正確?
這裏的正則表達式:
/^[\s\da-0-9-zA-ZåäöÅÄÖ_]$/i
什麼我做錯了嗎?
因爲這個a-0-9-z
是相反的順序。使用這個:^[\s\da-zA-ZåäöÅÄÖ_]$
或這個:(?i)^[\s\da-zåäö_]$
與忽略大小寫選項設置爲啓用。在您的正則表達式你使用\d
和0-9
letters, digits, and underscores
:
您也可以使用特殊字符\w
,這意味着。 \d
包括0-9
,看到Explanation
嗨!這仍然可以通過特殊的字符,比如'@'&'&'... – Industrial
@Industrial,你是什麼意思? –
運行您提供的正則表達式('^ [\ s \ da-zA-ZåäöÅÄÖÖÖ|] $'),包含'&'或'&'的字符串不會過濾出&&或'&',因爲我需要 – Industrial
這裏的表達是逐字拷貝嗎?由於
/^[\s\da-0-9-zA-ZåäöÅÄÖ_]$/i
你有
a-0-9-zA-Z
,你大概的意思
0-9a-zA-Z
的錯誤是A-0-9-Z這應該是一個-Z0-9
此外,你可以升0-9會導致你使用\ d,並且你可以使用\ w作爲任何「單詞」字符。
這個正則表達式匹配signle字符串,不區分大小寫,如下所示:任何空格字符,任何數字(0-9),任何字母(a-ZA-Z),以及其中一個字母。
說不上對拉丁,但如果你使用\d
,還,你不要,如果你使用/i
標誌需要a-zA-Z
你不需要0-9
,使一切不區分大小寫的,所以你可以請留下a-z
。
'\ d'和'0-9'是多餘的。 –