Skip to main content

Text search and the pattern builder

Open Mail search, then Filters → Text matching. First sign in and select a mailbox. You need mail.read and an available search engine permission: mail.finderSQL or mail.finderOpenSearch.

Plain text uses substring matching. For example, apple also matches appletree. The characters *, ?, %, and _ represent themselves in this mode.

Matching options​

OptionEffect
Match caseDistinguishes uppercase and lowercase letters.
Match accentsDistinguishes accented letters.
Whole wordMatches complete words. apple does not match appletree.
RegexEnables regular expressions, which describe text patterns. Plain text does not need this option.

In Regex mode, use the builder buttons for literal text, any text, one character, a number, and start/end anchors. For example, invoice- plus Number creates invoice-[0-9]+. You can edit the complete pattern and add it as one quoted condition. See advanced expression syntax to combine it with other conditions. The complete expression limit is 500 characters. Invalid edits preserve the previous valid expression and show an error.

Invisible characters​

Trailing tabs, zero-width spaces, word joiners, and similar whitespace, control, or formatting characters become ordinary spaces. Internal text and a manually entered \s remain intact. This does not truncate words or add suffix matching. Substring matching explains the apple/appletree result.

Old saved wildcard searches retain their meaning. The interface marks them and offers Use plain text for an explicit conversion. Matching options do not change exact contact addresses.

Search contract and limits​

Search version remains 2. The modes are literal-contains, literal-whole-word, regex, and regex-whole-word. Existing records and field names remain stable. Deployments need the schema in mailGen/ECS_MovePST_To_TempSQL/DB_Lib/Sql/20260916_search_literal_regex_modes.sql and compatible DataSearcher, backend, and BFF versions.

Plain substring search uses SQL LIKE and text fragments. Regex supports the common SQL/.NET subset: groups, alternatives, character ranges, anchors, and repetition. Lookaround, backreferences, inline flags, POSIX classes, lazy repetition, and patterns that match empty text are unsupported. Canonical regex evaluation has a time limit. OpenSearch checks the full condition against mailbox-scoped candidates, so regex can require more processing.

The result list and previews use highlight ranges from the server. The browser does not execute user regex against a complete HTML message body. Thus, an open HTML body does not receive client regex highlighting.

If a search fails, correct the indicated pattern or engine error before retrying. The engine status in Filters distinguishes incomplete work from an empty successful result. See visual filters and contact search.