Berserk Docs
Scalar FunctionsString Functions

has_ipv4

Indicate whether a text contains an IPv4 address.

The address matches where the text holds it as a valid address bounded on both sides by anything but an ASCII letter or digit, so ., :, / and _ delimit (1.2.3.4.5 and 1.2.3.4:80 contain 1.2.3.4) while 11.2.3.4 and 1.2.3.45 do not. Octets are decimal without leading zeros; an invalid address, or a null text, gives false.

Syntax

has_ipv4(source, ip_address)

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: bool

Examples

Example 1

print has_ipv4('05:04:54 127.0.0.1 GET /favicon.ico 404', '127.0.0.1')
print_0 (bool)
true

On this page