(?!Andrea).{6}
Принятие Вашего regexp механизма поддерживает отрицательные предвидения..
Редактирование:.. или возможно Вы предпочли бы использовать [A-Za-z]{6}
вместо .{6}
Редактирование (снова): Обратите внимание, что предвидения и lookbehinds обычно являются не правильным путем к "инверсии" соответствие регулярного выражения. Regexps действительно не созданы для того, чтобы сделать отрицательное соответствие, они оставляют это любому языку, с которым Вы используете их.
Какой язык Вы используете? Возможности и синтаксис regex реализации имеют значение для этого.
Вы могли использовать предвидение. Используя Python как пример
import re
not_andrea = re.compile('(?!Andrea)\w{6}', re.IGNORECASE)
Для разрушения этого:
(?! Andrea) означает 'соответствие, если следующими 6 символами не является "Andrea"'; раз так тогда
\w означает "словесный символ" - алфавитно-цифровые символы. Это эквивалентно классу [a-zA-Z0-9 _]
, \w {6} означает точно 6 словесных символов.
ре. IGNORECASE означает исключение "Andrea", "andrea", "ANDREA"...
Иначе должен использовать Вашу логику программы - используют все строки, не соответствующие Andrea, и проводят их через второй regex для проверки на 6 символов. Или сначала проверьте по крайней мере на 6 словесных символов, и затем проверьте, что это не соответствует Andrea.
Отрицательное предварительное утверждение
(?!Andrea)
Это не точно инвертированное соответствие, но лучше, чтобы можно было непосредственно сделать с regex. Не все платформы поддерживают их все же.
Если Вы хотите сделать это в RegexBuddy, существует два способа получить список всех строк, не соответствующих regex.
На панели инструментов на Испытательном щите, набор тестовый объем к "Линию за линией". Когда Вы сделаете это, Список объекта, Все Строки без Соответствий появятся под кнопкой List All на той же панели инструментов. (Если Вы не видите кнопку List All, нажмите кнопку Match на основной панели инструментов.)
На панели GREP, можно включить "основанное на строке" и "флажки" результатов инвертирования для получения списка несогласующих отрезков длинной линии в файлах, которые Вы захватываете через.
В жемчуге можно сделать
процесс ($line) если ($line = ~!/Andrea/);
Для Python / Java,
^(.(?!(some text)))*$
http://www.lisnichenko.com/articles/javapython-inverse-regex.html