For the complete documentation index, see llms.txt. This page is also available as Markdown.

Regular expressions

The e6 Ingestion Engine scalar functions are based on Apache DataFusion and these docs are derived from the DataFusion function reference.

e6 Ingestion Engine uses a PCRE-like regular expression syntax (minus support for several features including look-around and backreferences).

Function
Description
Example
Result

regexp_like(str, pattern [, flags])

Test if pattern matches

regexp_like('hello123', '[0-9]+')

true

regexp_match(str, pattern [, flags])

Return matches

regexp_match('hello123', '([0-9]+)')

[123]

regexp_replace(str, pattern, repl [, flags])

Replace matches

regexp_replace('hello123', '[0-9]+', 'NUM')

'helloNUM'

position(substr IN str)

Position of substring

position('lo' IN 'hello')

4

regexp_like

Returns true if a regular expression has at least one match in a string, false otherwise.

regexp_like(str, regexp[, flags])

Arguments

  • str: String expression to operate on. Can be a constant, column, or function, and any combination of string operators.

  • regexp: Regular expression to test against the string expression. Can be a constant, column, or function.

  • flags: Optional regular expression flags that control the behavior of the regular expression. The following flags are supported:

    • i: case-insensitive: letters match both upper and lower case

    • m: multi-line mode: ^ and $ match begin/end of line

    • s: allow . to match \n

    • R: enables CRLF mode: when multi-line mode is enabled, \r\n is used

    • U: swap the meaning of x* and x*?

Example

regexp_match

Returns a list of regular expression matches in a string.

Arguments

  • str: String expression to operate on. Can be a constant, column, or function, and any combination of string operators.

  • regexp: Regular expression to match against. Can be a constant, column, or function.

  • flags: Optional regular expression flags that control the behavior of the regular expression. The following flags are supported:

    • i: case-insensitive: letters match both upper and lower case

    • m: multi-line mode: ^ and $ match begin/end of line

    • s: allow . to match \n

    • R: enables CRLF mode: when multi-line mode is enabled, \r\n is used

    • U: swap the meaning of x* and x*?

Example

regexp_replace

Replaces substrings in a string that match a regular expression.

Arguments

  • str: String expression to operate on. Can be a constant, column, or function, and any combination of string operators.

  • regexp: Regular expression to match against. Can be a constant, column, or function.

  • replacement: Replacement string expression. Can be a constant, column, or function, and any combination of string operators.

  • flags: Optional regular expression flags that control the behavior of the regular expression. The following flags are supported:

    • g: (global) Search globally and don't return after the first match

    • i: case-insensitive: letters match both upper and lower case

    • m: multi-line mode: ^ and $ match begin/end of line

    • s: allow . to match \n

    • R: enables CRLF mode: when multi-line mode is enabled, \r\n is used

    • U: swap the meaning of x* and x*?

Example

position

Returns the position of substr in origstr (counting from 1). If substr does not appear in origstr, return 0.

Arguments

  • substr: The pattern string.

  • origstr: The model string.

Last updated

Was this helpful?