Функция REGEXP_SUBSTR
извлекает части строки на основе шаблона регулярного выражения. Она имеет сходство с функцией SUBSTRING
, но есть и важные (и интересные) различия. Эта функция возвращает N-ое вхождение подстроки, которая соответствует регулярному выражению.
Когда я начал писать десятую статью в серии о регулярных выражениях в SQL Server, я должен признаться: я не знал заранее, что именно эта функция делает. Классическая функция SUBSTRING
принимает строго позиционные параметры. Задана строка, указываешь начальную позицию и количество символов — и получаешь результат. Никакого сопоставления с шаблоном. К счастью для вас, изучение этого материала у меня заняло совсем немного времени.
В одной из предыдущих статей, где речь шла о REGEXP_MATCHES
, я показывал, как можно увидеть все совпадения, которые регулярное выражение находит в строке. REGEXP_SUBSTR
в своей простой форме возвращает скалярный результат — то есть одно совпадение.