Я не уверен, как сделать regexp_replace, чтобы вернуть цифру в середине строки.Возвращает цифру в середине строки regex
Моя текущая строка: «Игра престолов S2 Ep6», и мне нужно вернуть номер сезона из этого. Мой текущий регулярное выражение делает работу правильно, но имеет два регулярных выражений выражения:
REGEXP_REPLACE(REGEXP_REPLACE('Game of Thrones S1 Ep12', r'(^[^_]*\sS)', ''), r'(\s*Ep\s*\d*\s*$)', '')
Некоторые другие данные испытаний:
"Smallville S 10 Ep 12"
«Дни нашей жизни S26 Ep324 "
Это первое сообщение с текстом вплоть до первого« S ». Затем отделяет конец строки до и включает пробелы перед «Ep»
Может кто-нибудь, пожалуйста, дайте мне группу захвата, которая позволяет это сделать в одной замене. Это очень дорогостоящий запрос на данный момент.
То, что я не понимаю - почему * заменить * подход на всех? Почему бы просто не зафиксировать номер сезона с помощью регулярного выражения, например: '\ bS \ s * (\ d +) \ s * Ep'? – ClasG