OpenRefine: инвертирование регулярного выражения

Я видел несколько вопросов об инверсии регулярных выражений, но я не мог применить решения к OpenRefine и заставить его работать.

Например, предположим, у меня есть поле почтового индекса, где большинство записей имеют форму

^\d{5}-\d{4}$

Я хочу отфильтровать все эти записи, чтобы увидеть, что осталось с помощью регулярного выражения GREL. Как мне создать регулярное выражение, которое находит все строки без вышеуказанной формы в Openrefine?

1 ответ

Решение

Вы можете использовать отрицательные обходные пути как способ сопоставления чего-либо без определенной подстроки. В вашем случае это будет соответствовать всему без 5 цифр, за которым следует тире и 4 цифры.

^((?!\d{5}-\d{4}).)*$

Другой обходной путь, позволяющий сопоставить все без определенной подстроки, - просто заменить эту подстроку на "", а затем захватить все записи.

Другие вопросы по тегам