OpenRefine: инвертирование регулярного выражения
Я видел несколько вопросов об инверсии регулярных выражений, но я не мог применить решения к OpenRefine и заставить его работать.
Например, предположим, у меня есть поле почтового индекса, где большинство записей имеют форму
^\d{5}-\d{4}$
Я хочу отфильтровать все эти записи, чтобы увидеть, что осталось с помощью регулярного выражения GREL. Как мне создать регулярное выражение, которое находит все строки без вышеуказанной формы в Openrefine?
1 ответ
Вы можете использовать отрицательные обходные пути как способ сопоставления чего-либо без определенной подстроки. В вашем случае это будет соответствовать всему без 5 цифр, за которым следует тире и 4 цифры.
^((?!\d{5}-\d{4}).)*$
Другой обходной путь, позволяющий сопоставить все без определенной подстроки, - просто заменить эту подстроку на ""
, а затем захватить все записи.