Я работаю над написанием некоторого регулярного выражения в Postgres, чтобы отфильтровать часть мусора в моих строках. Вот некоторые из различных случаев, с которыми я сталкиваюсь:Регулярное выражение соответствует следующему варианту вещей
AUTO PARTS STORE 15
AUTO PARTS STORE #15
AUTO PARTS STORE #A15
AUTO PARTS STORE #AB15
AUTO PARTS STORE #A 15
AUTO PARTS STORE #A A15
AUTO PARTS STORE #15A
AUTO PARTS STORE #15-15
Число после # может быть одним или несколькими. Кроме того, между «STORE» и «#» не должно быть пробелов.
То, что я пытаюсь фильтровать, - это «МАГАЗИН» и любой номер магазина после того, как он отформатирован.
До сих пор, это то, что я разработал:
select regexp_replace(estab_name,E'STORE (#)?()?([A-Z])?([A-Z])?()?\\d+\\Z',' ')
Вот пример некоторых случаях я отсутствующими, и то, что я хотел бы вернуться (примечание - это третья сторона редактирования на основе комментариев - показать О.П., что я думаю, что он имел в виду, и приглашающие поправки):
If the input string is: I would like to remove: I would like to return:
7-ELEVEN FOOD STORE #11150A STORE #11150A 7-ELEVEN FOOD
7-ELEVEN FOOD STORE #20132C STORE #20132C 7-ELEVEN FOOD
7-ELEVEN FOOD STORE #2306-2134 STORE #2306-2134 7-ELEVEN FOOD
7-ELEVEN STORE #2301-14410N STORE #2301-14410N 7-ELEVEN
7-ELEVEN STORE # 14279B TODD BAXTER STORE # 14279B TODD BAXTER 7-ELEVEN
84 LUMBER COMPANY, LP, STORE: #0922 STORE: #0922 84 LUMBER COMPANY, LP,
BIG LOTS STORE# 1886 STORE# 1886 BIG LOTS
KROGER STORE J-978 STORE J-987 KROGER
Любая помощь будет принята с благодарностью. Я очень новичок в написании сложного регулярного выражения, и это убивает мой мозг прямо сейчас.
Не могли бы вы показать, что вы ожидаете выход должен быть? Например, для '7-ELEVEN STORE # 2301-14410N', вы хотите« МАГАЗИН № 2301 »,« МАГАЗИН 2301 »,« МАГАЗИН 2301-14410 », ...? – Floris
Несомненно, не проблема. Я ищу удалить любую информацию о магазине и номере. Таким образом, из приведенных выше примеров: 7-Eleven продовольственного магазина # 11150A 7-Eleven FOOD 7-ОДИННАДЦАТЬ продовольственного магазин # 20132C 7-Eleven FOOD 7-Eleven продовольственного магазина # 2306-2134 7-Eleven FOOD 7-Eleven STORE # 2301-14410N 7-оДИННАДЦАТЬ 7-оДИННАДЦАТЬ МАГАЗИН # 14279B ТОДД БАКСТЕР 7-оДИННАДЦАТЬ 4 Lumber Company, LP, МАГАЗИН: # 0922 84 ПИЛОМАТЕРИАЛА Company, LP, БОЛЬШОЙ ПАРТИЯ STORE # 1886 BIG ПАРТИИ Kroger МАГАЗИН J-978 KROGER – SBaha
Извините, у меня возникли проблемы с добавлением перерывов в строке. – SBaha