Задать вопрос
Tomasina
@Tomasina
Инженер-разработчик

Почему не работает регулярное выражение?

Исходные данные:
PRO-5127_мск/1729мск/
М10 Pro/455спб/
Нужно вытащить число, идущее перед "спб" или "мск", заключенное между двух слешей.

Так не работает:
=VALUE(REGEXEXTRACT(E2:E;"[\/](\d+)(спб|мск)[\/]"))
=VALUE(REGEXEXTRACT(E2:E;"[\/](\d+)(спб)|(мск)[\/]"))


Так работает, но выглядит как костыль:
=VALUE(REGEXEXTRACT(E2:E;"[\/](\d+)[с|м][п|с][б|к][\/]"))


Что не так?
  • Вопрос задан
  • 55 просмотров
Подписаться 1 Простой 3 комментария
Решения вопроса 1
oshliaer
@oshliaer Куратор тега Google Sheets
Google Products Expert
Ваша формула работает хорошо, вы передаете неправильный аргумент

нужно

=VALUE(REGEXEXTRACT(E2;"[\/](\d+)(спб|мск)[\/]"))

67586636c4f8e927848185.png

Для массива данных используйте что-то такое

=ARRAYFORMULA(VALUE(REGEXEXTRACT(C3:C4;"[\/](\d+)(?:спб|мск)[\/]")))


Пример в Таблице https://docs.google.com/spreadsheets/d/1oAU_ZMFFYi...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы