2013-12-13 5 views
0

У меня возникли трудности с написанием регулярного выражения для принудительного применения настраиваемого набора символов. Я хочу, чтобы регулярное выражение соответствовало только каждому символу в строке, является частью определенного набора. Достаточно легко совместить одну строку в наборе; проблема, как представляется, в убедившись, что регулярное выражение не соответствует, если плохой характер передается вРегулярное выражение для набора символов

Вот регулярное выражение:. «Hello World!»

[\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

Смежные вопросы