2012-03-15 3 views
4

мне нужно регулярное выражение для Разрешить все символы Алфавитплюс греческий/Немецкий алфавит в строке, но заменить эти символы ?,&,^,". with *Регулярное выражение, чтобы все символы алфавита плюс символы Юникода

Я пропустил список с символами, чтобы убежать, чтобы вопрос был простым. Я действительно хочу посмотреть, как построить это, а затем включить алфавитные наборы, используя коды ASCII.

+0

Учитывая, что в кодированном тексте в формате Юникод ** каждый символ ** является символом юникода, ваше регулярное выражение будет просто «[& quot;]], но это, вероятно, не то, что вы имели в виду. (Кстати, греческий символ set находится между '0x370' и' 0x03ff' включительно) – Regexident

+1

«некоторые символы типа» - компьютеры глупы, вы должны сказать им точно, что вы хотите. – pimvdb

+0

- это «некоторые символы» фиксированного списка? –

ответ

4

Если у вас есть конечный и короткий набор элементов для замены, вы можете просто использовать класс, например.

string.replace(/[?\^&]/g, '*'); 

и добавить столько символов, сколько вы хотите отклонить. Вы можете также добавить диапазоны Юникода символов, которые вы хотите заменить (например, \u017F-\036F\u0400-\uFFFF)

иным образом использовать аа класс, чтобы указать, какие символы не должны быть заменены, как аз, акцентировано/диакритические буквы и греческие символы

string.replace(/[^a-z\00C0-\017E\u0370-\03FF]/gi, '*'); 
1

Так что-то вроде: /^[^?&\^"]*$/ (это означает, что строка состоит только из символов за пределами пяти вы перечислили) ...

Но если вы хотите иметь греческие символы и символы Юникода (какие символы Юникода ? àèéìòù? Japanese?) возможно вам придется использовать http://xregexp.com/ Это библиотека регулярных выражений для javascript, которая включает в себя классы символов для различных классов символов Юникода (я знаю, что я повторяюсь) плюс другие «команды» для обработки Юникода.

4

Вы должны использовать XRegexp plugin, а также Unicode add-on.

После этого вы можете использовать современные регулярные выражения, такие как /[\p{L}\p{Nl}]/, что обязательно включает в себя те пункты \p{Greek}, которые являются буквами или буквами. Но вы также можете найти /[\p{Latin}\p{Greek}]/, если хотите.

Javascript имеет собственные регулярные выражения. Используйте XRegexp.

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