регулярное выражение в MySQL регулярное выражение - PullRequest
0 голосов
/ 01 марта 2019

Я ищу способ заменить и обновить строковое значение в MySQL, начиная или заканчивая в процентах.

Мне бы хотелось, чтобы значения были такими:

'15 % flour'
' 15 % beef'
'15% pork'
' 15 % rice'
'eggplant 15 %'
'banana 15 % '
'turkey 15%'
'chicken 15% '

Во всехэти примеры я хотел бы закончить только с ингредиентом.Пример: мука или говядина

Я обнаружил, что это удалит процент, если в начале строки.REGEXP_REPLACE (ингридиент_имя, '^ ([0-9] | 100) + (\%) +', '') Но нет, если между числом и символом процента есть пробел.

Это было моим лучшимпопробуйте, но я обнаружил, что он не совместим с Mysql regexp_replace.

\d+((' '|\s|\b)\%(' '|\s|$))

тестовая ссылка

1 Ответ

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

Вы можете использовать [[:space:]]* для сопоставления 0 или более пробелов между числом и %:

'[[:space:]]*[0-9]+[[:space:]]*%[[:space:]]*'

См. Демонстрационную версию regex .

Он соответствует

  • [[:space:]]* - 0 или более пробельных символов
  • [0-9]+ - 1 или более цифр
  • [[:space:]]* - 0 или более пробельных символов
  • % - % char
  • [[:space:]]* - 0 или более пробельных символов

Обратите внимание, что ни \d, ни \s и \b может не поддерживаться, если ваша версия MySQL старше 8.x.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...