Регулярное выражение для отклонения всех неанглийских символов, кроме некоторых символов с ударением

1

Это отлично работает, чтобы запретить все неанглийские буквы:

/[^\x00-\x7F]+/

Но я хотел бы позволить этим персонажам:

âäèéêëîïôœùûüÿçÀÂÄÈÉÊËÎÏÔŒÙÛÜŸÇ

Как добавить их в регулярное выражение, чтобы они были разрешены?

Теги:
non-english

2 ответа

2
Лучший ответ

Если шаблон, подобный /[^\x00-\x7F]+/ работает для вас, он соответствует всем буквам, которые вы хотите избежать совпадения.

Поскольку [^...] является отрицательным символьным классом, самый простой способ исключить char/set символов - просто добавить их в класс:

/[^\x00-\x7FâäèéêëîïôœùûüÿçÀÂÄÈÉÊËÎÏÔŒÙÛÜŸÇ]+/

См. Демо-версию regex.

Если вы используете пустую строку в качестве шаблона замены, вы удалите все 1+ символы, которые не являются ASCII (\x00-\x7F) и не равны буквам, добавленным к классу отрицательных символов.

  • 0
    Спасибо! Чтобы заставить его работать в Javascript, я должен был найти онлайн-конвертер и использовать: \ u00FC \ u00FF \ u00E7 \ u00C0 \ u00C2 \ u00C4 \ u00C8 \ u00C9 \ u00CA \ u00CB \ u00CE \ u00CF \ u00D4 \ u0152 \ u00D9 \ u00DB \ u00DC \ u0178 \ u00C7] + /
  • 0
    Вам на самом деле не нужно этого делать. Но этот конвертер я использую все время .
1

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

Regex: [a-zA-ZâäèéêëîïôœùûüÿçÀÂÄÈÉÊËÎÏÔŒÙÛÜŸÇ]

Ещё вопросы

Сообщество Overcoder
Наверх
Меню