Berserk Docs
Scalar FunctionsString Functions

indexof_regex

Returns the zero-based character position of a regular expression's first match, or of its n-th non-overlapping match, or -1 when there is none.

The regular expression must be a constant and is case-sensitive. A negative start, an occurrence below 1, or a length below -1 gives null; a constant occurrence below 1 is an error.

Syntax

indexof_regex(source, regex, start, length, occurrence)

See Regex Syntax for the full regular expression reference.

Parameters

Prop

Type

Given a dynamic field

This parameter is string-only. In permissive mode — the default — almost every field arrives as a dynamic, so passing one works because Berserk injects asstring: extract-or-null, the value when it really is a string and null otherwise, so the call yields null (a predicate yields false). A property bag or array is therefore not matched, and tostring() is never applied implicitly — use it explicitly to match a bag's JSON text, keys included. Strict mode rejects the dynamic instead of coercing it. See String coercion and the asXXX family.

Returns: long

Examples

Example 1

print indexof_regex('Lindisfarne 793 AD', @'\d+')
print_0 (long)
12

Example 2

print indexof_regex('abcabc', 'b', 0, -1, 2)
print_0 (long)
4

On this page