mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-06-28 09:28:55 -04:00
1.4 KiB
1.4 KiB
mapped_pages | products | ||||
---|---|---|---|---|---|
|
|
Regexes [painless-regexes]
Regular expression constants are directly supported. To ensure fast performance, this is the only mechanism for creating patterns. Regular expressions are always constants and compiled efficiently a single time.
Pattern p = /[aeiou]/
::::{warning} A poorly written regular expression can significantly slow performance. If possible, avoid using regular expressions, particularly in frequently run scripts. ::::
Pattern flags [pattern-flags]
You can define flags on patterns in Painless by adding characters after the trailing /
like /foo/i
or /foo \w #comment/iUx
. Painless exposes all of the flags from Java’s Pattern class using these characters:
Character | Java Constant | Example |
---|---|---|
c |
CANON_EQ | 'å' ==~ /å/c (open in hex editor to see) |
i |
CASE_INSENSITIVE | 'A' ==~ /a/i |
l |
LITERAL | '[a]' ==~ /[a]/l |
m |
MULTILINE | 'a\nb\nc' =~ /^b$/m |
s |
DOTALL (aka single line) | 'a\nb\nc' =~ /.b./s |
U |
UNICODE_CHARACTER_CLASS | 'Ɛ' ==~ /\\w/U |
u |
UNICODE_CASE | 'Ɛ' ==~ /ɛ/iu |
x |
COMMENTS (aka extended) | 'a' ==~ /a #comment/x |