Я просмотрел несколько сообщений об этом, и у меня все еще возникают проблемы.Отрицание запроса регулярного выражения
Я пытаюсь написать запрос регулярного выражения, который находит имена кодов S3, которые делают не, следуя схеме именования, которую мы хотим. Схема мы хотим следующим образом:
тест-ковш бревна ** - нас-восток-1 **
жирным шрифтом часть необязательно. Значение, следующие два являются допустимыми именами ковшовые:
- тест-ковш бревна
- тест-ковш-журналы-нас-восток-1
Теперь, что я хочу сделать, это отрицать это. Поэтому я хочу поймать все ведра, которые не следуют приведенной выше схеме. Я успешно сформировал запрос, который будет соответствовать схеме именования, но у меня возникают проблемы с формированием того, что отрицает его. Регулярное выражение ниже:
^(.*-bucket-logs)(-[a-z]{2}-[a-z]{4,}-\d)?$
Таким образом, некоторые более действительные имена ковшовые:
- пример-ковш-журналы-ар-северо-восток-1
- что-то ведро-журналы-ес-центральные -1
Недействительные имена ковшовые (мы хотим, чтобы соответствовать этим):
- Iscrewedthepooch
- тест-ковш-журналы-нас-Е.Е.
- ведро-журналы-нас-восток-1
Спасибо за помощь.
Отрицание регулярного выражения обычно затруднено. Либо используйте отрицательный просмотр, либо выполняйте отрицание в коде, который выполняет совпадение - удалите элементы, которые соответствуют, а не сохраняют их. – Barmar
Я думаю, что отрицание результата в коде - это то, с чем я буду идти. Спасибо! –