From eaa253c7100fc902e419b05de36a5d98d9c29268 Mon Sep 17 00:00:00 2001 From: Kiki-Y123 <109290423+Kiki-Y123@users.noreply.github.com> Date: Wed, 26 Mar 2025 13:36:24 +0000 Subject: [PATCH 1/3] Update values.mdx added this: ## Regex Limits Each rule supports a maximum of 64 regular expressions(regex), regardless of your domain's plan level. --- src/content/docs/ruleset-engine/rules-language/values.mdx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/content/docs/ruleset-engine/rules-language/values.mdx b/src/content/docs/ruleset-engine/rules-language/values.mdx index 4b6cf55607e1e67..cdd0b1beaf9c33b 100644 --- a/src/content/docs/ruleset-engine/rules-language/values.mdx +++ b/src/content/docs/ruleset-engine/rules-language/values.mdx @@ -258,3 +258,7 @@ ip.src in {198.51.100.1 198.51.100.3..198.51.100.7 192.0.2.0/24 2001:0db8::/32} tcp.dstport in {8000..8009 8080..8089} ``` + +## Regex Limits + +Each rule supports a maximum of 64 regular expressions(regex), regardless of your domain's plan level. From ccb8e48ef975d5e8dc405d8e9fb5b8134a86c9a9 Mon Sep 17 00:00:00 2001 From: Kiki-Y123 <109290423+Kiki-Y123@users.noreply.github.com> Date: Wed, 26 Mar 2025 14:00:28 +0000 Subject: [PATCH 2/3] Update values.mdx change position --- src/content/docs/ruleset-engine/rules-language/values.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/content/docs/ruleset-engine/rules-language/values.mdx b/src/content/docs/ruleset-engine/rules-language/values.mdx index cdd0b1beaf9c33b..43d8255f1f444dc 100644 --- a/src/content/docs/ruleset-engine/rules-language/values.mdx +++ b/src/content/docs/ruleset-engine/rules-language/values.mdx @@ -99,6 +99,10 @@ Since the evaluation of string literal values in expressions is case-sensitive, Cloudflare Business and Enterprise customer plans have access to the `matches` [comparison operator](/ruleset-engine/rules-language/operators/#comparison-operators) which supports regular expressions, so that you can capture multiple variants of a value with a single expression. +### Regex Limits + +Each rule supports a maximum of 64 regular expressions(regex), regardless of your domain's plan level. + ## Boolean values Simple expressions using boolean fields do not require operator notations or values. You only need to insert the field on its own, as shown in the `ssl` example below. @@ -259,6 +263,4 @@ ip.src in {198.51.100.1 198.51.100.3..198.51.100.7 192.0.2.0/24 2001:0db8::/32} tcp.dstport in {8000..8009 8080..8089} ``` -## Regex Limits -Each rule supports a maximum of 64 regular expressions(regex), regardless of your domain's plan level. From 12d6f22e4ab3ba64534e8cf65acc98d239b7c7d8 Mon Sep 17 00:00:00 2001 From: Pedro Sousa <680496+pedrosousa@users.noreply.github.com> Date: Wed, 26 Mar 2025 17:01:49 +0000 Subject: [PATCH 3/3] PCX review --- .../docs/ruleset-engine/rules-language/values.mdx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/content/docs/ruleset-engine/rules-language/values.mdx b/src/content/docs/ruleset-engine/rules-language/values.mdx index 43d8255f1f444dc..0678421224e9068 100644 --- a/src/content/docs/ruleset-engine/rules-language/values.mdx +++ b/src/content/docs/ruleset-engine/rules-language/values.mdx @@ -99,9 +99,14 @@ Since the evaluation of string literal values in expressions is case-sensitive, Cloudflare Business and Enterprise customer plans have access to the `matches` [comparison operator](/ruleset-engine/rules-language/operators/#comparison-operators) which supports regular expressions, so that you can capture multiple variants of a value with a single expression. -### Regex Limits +### Regular expression limits -Each rule supports a maximum of 64 regular expressions(regex), regardless of your domain's plan level. +Cloudflare has a few limits in place regarding regular expressions. One of those limits is that each rule supports a maximum of 64 regular expressions (regexes), regardless of your domain's plan. + +You can use the following strategies to reduce the number of regular expressions in a rule: +- Use the [`contains`](/ruleset-engine/rules-language/operators/#comparison-operators) operator. +- Use the [`wildcard`](/ruleset-engine/rules-language/operators/#wildcard-matching) / [`strict wildcard`](/ruleset-engine/rules-language/operators/#wildcard-matching) operators. +- Use the [`starts_with()`](/ruleset-engine/rules-language/functions/#starts_with) and [`ends_with()`](/ruleset-engine/rules-language/functions/#ends_with) functions. ## Boolean values