Страницы

Поиск по вопросам

понедельник, 8 октября 2018 г.

Регулярные выражения: включить и исключить символы

Можно-ли используя регулярные выражения сделать так, чтобы включить все буквы: [a-z], но исключить некоторые, например [^ite]. То есть в итоге должно получиться что-то вроде: [a-z] & [^ite] Сейчас приходит в голову два раза проверять символ на соответствие, сначала одному regex, потом другому.


Ответ

/(?(?=[a-z])[^ite]|^$)/ Схема: (?(?=regex)then|else) Пояснение: Если [a-z], то [^ite] (выбрать из [a-z] все, кроме i, t и e), иначе ^$ (пустая строка) В случае выполнения условия выборка будет проводится из того массива совпадений, по которому была проверка. В данном случае она будет ограничена латинскими буквами. Вот тут можно посмотреть пример работы А вот тут можно почитать подробнее об использовании условий в регулярных выражениях

Комментариев нет:

Отправить комментарий