Regex - Как сопоставить строку до «любого из этих символов» в регулярном выражении? - PullRequest
0 голосов
/ 12 марта 2019

У меня есть набор данных, который содержит поле с данными продавца кредитной карты. Я хочу использовать регулярное выражение для предварительной обработки значений («Очистить значение» перед использованием нечеткого совпадения для стандартизации полей («Требуемый вывод»)

[merchant]         [clean value]    [desired output]
UPS1Z3734A345      UPS              UPS
UPS 1Z68A3125      UPS              UPS
HOME DEPOT #3421   HOME DEPOT       HOME DEPOT
STAPLES - #123     STAPLES          STAPLES
STPLS #4560        STPLS            STAPLES

Существует ряд различных случаев, которые мне нужно решить (например, "-", числовые значения, символы "#" и т. Д.)

Я довольно новичок в регулярных выражениях, но это то, что я придумал до сих пор

(.+)[?=#]

Тем не менее, это адрес только тогда, когда в строке есть «#». Кроме того, если в строке нет небуквенных символов, поле возвращает пустое значение

Мне бы очень хотелось получить помощь, как правильно составить это выражение.

1 Ответ

0 голосов
/ 12 марта 2019

Попробуйте это:

((?:[^\d#-]){2,}).*$

создаст группу, которая должна содержать ваше чистое значение. (любой символ, пока не найдет цифру, # или -)

https://regex101.com/r/tFUcct/1

...