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 |