diff --git a/docs/reference/query-dsl/regexp-syntax.asciidoc b/docs/reference/query-dsl/regexp-syntax.asciidoc index 28c9c882542c1..3483288a5d314 100644 --- a/docs/reference/query-dsl/regexp-syntax.asciidoc +++ b/docs/reference/query-dsl/regexp-syntax.asciidoc @@ -181,6 +181,15 @@ example: [^-abc] # matches any character except '-', 'a', 'b', or 'c' [^abc\-] # matches any character except 'a', 'b', 'c', or '-' .... + +[NOTE] +==== +Character range classes such as `[a-c]` do not behave as expected when using `case_insensitive: true` — they remain case sensitive. +For example, `[a-c]+` with `case_insensitive: true` will match strings containing only the characters 'a', 'b', and 'c', but not 'A', 'B', or 'C'. +Use `[a-zA-Z]` to match both uppercase and lowercase characters. +This is due to a known limitation in Lucene's regular expression engine. +See https://github.com/apache/lucene/issues/14378[Lucene issue #14378] for details. +==== -- [discrete]