The Simple Version
Phrase = exactly what you typed, found anywhere in the name. Nothing is “special.” Regex = a mini search language where certain characters have magic powers.Both types are case-sensitive by default, and both match anywhere in the name (substring match).
When They Behave the Same
For plain words with no special characters, phrase and regex are identical:
No difference here because
house has no special regex characters.
When It Actually Matters
The difference shows up when your filter contains characters that are special in regex:. [ ] ( ) + * ? ^ $ |
Example: filtering the name [evil]
- Phrase:
[evil]--- matches the literal text[evil]. Brackets are just brackets. - Regex:
[evil]--- brackets have meaning in regex.[evil]means “any single character: e, v, i, or l.” So it matchesSteve,olive,Bill--- not what you wanted.
crazy.guy
- Phrase:
crazy.guy--- matches exactlycrazy.guy - Regex:
crazy.guy--- the.means “any character”, so it also matchescrazy-guy,crazy guy,crazy3guy
What Regex Can Do That Phrase Can’t
Which One Should You Use?
Use Phrase
- Filtering exact words or names
- Your filter contains special characters you want matched literally (brackets, dots, etc.)
- You want simple, safe, no-surprises matching
- 90% of filters should be phrase
Use Regex
- You need case-insensitive matching (
(?i)) - You want to anchor to start/end of name (
^,$) - You need to match character variants (
[a@4]dmin) - You need alternatives (
support|help)
Emergency Pause
If a filter causes widespread issues, pause all actions immediately:- Pause Hashbot:
/settings pause pause-state:pause - Resume after review:
/settings pause pause-state:unpause