Gigya Job Openings RegEx support REST

Skip to end of metadata
Go to start of metadata


Note: If you plan on integrating Gigya's Profile Management (IDS), we highly recommend reading the Identity Storage Guide. Profile Management (IDS) is a premium platform that requires separate activation. If it is not yet a part of your existing site package, please contact Gigya Support via the Support link in the top menu of your Console Dashboard or email

Querying using Regular Expressions

Gigya supports searching using regular expressions.


The supported operations for searching using regular expressions are listed below.


Note: regExp queries may lower performance in some cases.

When possible, you should try to use a long prefix before your regular expression, as wide matching expressions (such as .*?+) may be computationally intensive. 



Patterns are always anchored. The pattern provided must match the entire string. 

For string "abcde":

ab.*     # match
abcd     # no match


Reserved Characters

The following characters are reserved, and need to be escaped:
? . + * | { } [ ] ( ) " \

Any reserved character can be escaped with a backslash.
For example: "\*", "\\".


Match any character

The period "." is used to represent any character. 

For string "abcde":

ab...   # match
a.c.e   # match


Match One-or-more

The plus sign "+" can be used to repeat the preceding shortest pattern once or more times. 

For string "aaabbb":

a+b+        # match
aa+bb+      # match
a+.+        # match
aa+bbb+     # no match


Match Zero-or-more

The asterisk "*" can be used to match the preceding shortest pattern zero-or-more times. 

For string "aaabbb":

a*b*        # match
a*b*c*      # match
.*bbb.*     # match
aaa*bbb*    # match


Match Zero-or-one

The question mark "?" makes the preceding shortest pattern optional. It matches zero or one times. 

For string "aaabbb":

aaa?bbb?    # match
aaaa?bbbb?  # match
.....?.?    # match
aa?bb?      # no match


Match Min-to-max

Curly brackets "{}" can be used to specify a minimum and (optionally) a maximum number of times the preceding shortest pattern can repeat. 
The allowed forms are:

{5}     # repeat exactly 5 times
{2,5}   # repeat at least twice and at most 5 times
{2,}    # repeat at least twice


For string "aaabbb":

a{3}b{3}        # match
a{2,4}b{2,4}    # match
a{2,}b{2,}      # match
.{3}.{3}        # match
a{4}b{4}        # no match
a{4,6}b{4,6}    # no match
a{4,}b{4,}      # no match



Parentheses "()" can be used to form sub-patterns.
The quantity operators listed above operate on the shortest previous pattern, which can be a group. 

For string "ababab":

(ab)+       # match
ab(ab)+     # match
(..)+       # match
(...)+      # no match
(ab)*       # match
abab(ab)?   # match
ab(ab)?     # no match
(ab){3}     # match
(ab){1,2}   # no match



The pipe symbol "|" acts as an OR operator. The match will succeed if the pattern on either the left-hand side OR the right-hand side matches.
The alternation applies to the longest pattern, not the shortest. 

For string "aabb":

aabb|bbaa   # match
aacc|bb     # no match
aa(cc|bb)   # match
a+|b+       # no match
a+b+|b+a+   # match
a+(b|c)+    # match


Character classes

Ranges of potential characters may be represented as character classes by enclosing them in square brackets "[]". A leading ^ negates the character class. 

The allowed forms are:

[abc]   # 'a' or 'b' or 'c'
[a-c]   # 'a' or 'b' or 'c'
[-abc]  # '-' or 'a' or 'b' or 'c'
[abc\-] # '-' or 'a' or 'b' or 'c'
[^a-c]  # any character except 'a' or 'b' or 'c'

Note that the dash "-" indicates a range of characters, unless it is the first character or if it is escaped with a backslash.

For string "abcd":

ab[cd]+     # match
[a-d]+      # match
[^a-d]+     # no match