Skip to content

REGEXP - определение соответствия между строкой и регулярным выражением.

1. извлечение данных

1.1 Использование I

1) Обзор

словарьREGEXP(str, pattern)Соответствует ли строка str шаблону регулярного выражения.
Параметр 1strстрока (информатика)
Параметр 2шаблонрегулярное выражение (математика)

2) условия

  • Чтобы использовать символ \, нужно добавить еще один обратный слеш. Поэтому, когда формула regexp (строка, "\d") выдаст ошибку, ее нужно записать как regexp (строка, "\\\\d"), как показано ниже:

  • Два параметра типа текста

3) Примеры

формулыв конце концовпримечание
REGEXP("aaaaac", "a*c")правда
REGEXP("abc", "a*c")ложь

В этой статье мы рассмотрим \d и \w в качестве примера использования этой функции для редактирования данных, где \d означает совпадение чисел, а \w - совпадение букв, цифр, подчеркиваний или китайских символов, как показано на рисунке ниже:

1623297122X6d4.png

Другие примеры регулярных выражений см. в разделе: Примеры регулярных выражений.

1.2 Использование II

1) Обзор

словарьREGEXP(str, pattern, intNumber)Соответствует ли строка str шаблону регулярного выражения с заданным шаблоном intNumber?
Параметр 1strстрока (информатика)
Параметр 2шаблонрегулярное выражение (математика)
Параметр 3intNumberданная модель

2) условия

Шаблон для intNumber показан ниже:

Задав intNumber равным сумме двух режимов, вы можете включить несколько режимов одновременно, например intNumber=1+2=3, что означает, что вы можете одновременно включить режим строк Unix и режим совпадения без учета регистра.

режим intNumberконцептуальный
intNumber=1UNIX_LINES Включает режим строк Unix, в котором распознаются только " " терминаторы строк в поведении " ". ", "^" и "$" распознаются в поведении только " " терминаторов строк
intNumber=2CASE_INSENSITIVE Включает сопоставление без учета регистра. По умолчанию при сопоставлении без учета регистра предполагается, что сопоставляются только символы из набора символов US-ASCII. Можно включить нечувствительное к регистру сопоставление с учетом Юникода, указав вместе с этим режимом режим UNICODE_CASE.
intNumber=4COMMENTS Включите режим "Разрешить пробелы и комментарии". В этом режиме игнорируются пробелы и встроенные комментарии, начинающиеся с # перед завершающей строкой.
intNumber=8MULTILINE Включение многострочного режима
intNumber=16LITERAL Включает режим анализа текста. Когда этот режим включен, входная строка рассматривается как последовательность символов буквального значения. Метасимволы или управляющие последовательности во входной строке не имеют специального значения.Режим CASE_INSENSITIVE и режим UNICODE_CASE влияют на совпадение при использовании этого режима. В других режимах это не влияет.
intNumber=32DOTALL Включите режим dotall, выражение ". " может соответствовать любому символу, включая терминаторы строк. По умолчанию это выражение не совпадает с терминаторами строк.
intNumber=64UNICODE_CASE Включает свертывание регистра с учетом Юникода. Если указан этот режим и также включен режим CASE_INSENSITIVE, то соответствие с учетом регистра выполняется в соответствии с Юникодом.
intNumber=128CANON_EQ Включает режим канонической эквивалентности, который, если включен, позволяет считать два символа совпадающими тогда и только тогда, когда их полное каноническое разложение совпадает.
  • Поддерживает первые два параметра в виде текста, а третий параметр - в виде числового типа

3) Примеры

формулыв конце концовОписание формулы
REGEXP("Aaaaabbbbbc", "a*b*c", 3)правдаУказывает, что включены как режим строк Unix, так и режим совпадения без учета регистра. Поэтому возвращается true
REGEXP("Aaaaabbbbbc", "a*b*c", 1)ложьУказывает, что режим строк Unix также включен, и возвращает false, поскольку чувствителен к регистру.
REGEXP("Abc", "abc", 2)правдаУказывает на то, что режим нечувствительности к регистру включен, поэтому возвращает true.

REGEXP("Abc", "abc", 2), как показано ниже:

1623297137YJXx.png

2. версия с прямым подключением

1) Обзор

словарьREGEXP(str,pattern)Соответствует ли строка str шаблону регулярного выражения?
Параметр 1strстрока (информатика)
Параметр 2шаблонрегулярное выражение (математика)

2) условия

Первый параметр - тип текста, второй - тип текста.

Базы данных SAP Sybase и Microsoft SQL Server не поддерживают эту функцию.

3) Примеры

формулыв конце концовпримечание
REGEXP("aaaaac", "a*c")правда
REGEXP("abc", "a+c")ложь