Есть ли в регулярных выражениях символ, означающий «не»?
Всем доброго времени суток.
У меня есть данные. Однако в этих данных есть строки, в который данные записаны не по формату. Например:
все даты записаны в формате дд.мм.гггг, но в файле присутствуют строки, где дата записана, например в дд.мм.гг., или там д.м.гггг и т. д. Конечно же, можно написать регулярку, которая описывает эти несоответствия, но было бы проще (мне кажется), если бы был какой-нибудь инструмент, где ты описываешь основной шаблон, но ищешь все строки, которые не соответствуют этому шаблону. Существует ли такое решение в регулярках?
Этот инструмент называется язык программирования, вы слишком много хотите от регулярных выражений.
1) Выбираете регуляркой все строки где д.м.гггг
2) Конвертируете в дд.мм.гггг
PROFIT!!
Но конвертировать всяко не регулярка должна. А складывать она куда должна? Для этого есть массив.
Само по себе отрицание это [^a] (не а)
Строго говоря, для тех, кто не умеет и не хочет программировать (сюрприз: в этом нет ничего плохого) есть коммерческие продукты типа PowerGREP и RegexBuddy, которые позволяют строить очень сложный процессинг на основе регулярок (и отлаживать сами регулярки). Там есть и вложенность, и использование шаблонов в именах файлов и путях - всего не перечислить.