2013-12-13 28 views
0

我很難編寫正則表達式來執行自定義字符集。我希望正則表達式僅匹配字符串中的每個字符都是已定義集的一部分。很容易匹配集合中的一個字符串;麻煩似乎是在確保如果人品不好傳入的正則表達式不匹配正則表達式來強制執行字符集

這裏的正則表達式:「您好!世界」

[\u0000-\u00FF\u20AC\u0160\u0161\u017D\u017E\u0152\u0153\u0178] 

比賽(好)

不會匹配 「雙喜」(好)

匹配的Hello World!雙喜(不好)

我敢肯定我只是想念一些簡單的東西。謝謝!

+0

如果你想「只」這些字符,你只需要做'/^[\ u0000- \ u00FF] * $ /'(我縮寫爲「允許的字符」一點。)剛剛添加了「從開始到完成,只有這些字符「。 – Floris

回答

3

這個正則表達式只是檢查你的模式中是否至少有一個匹配的字符。

嘗試用^[\u0000-\u00FF\u20AC\u0160\u0161\u017D\u017E\u0152\u0153\u0178]*$代替。 (在開始,^和結尾$之間,可能有任何數量的屬於該範圍的字符,但沒有其他字符)。

+0

你是救生員。這是我錯過的* $。非常感謝。 – christok

+0

不要忘記^在開始;) –

+0

是的,我也看到了。謝謝! – christok