Regular expression matching
Wrap the value of exactly match, contains, or does not contain in forward slashes to match with a regular expression instead of a literal string — the same /pattern/flags convention as Obsidian’s Web Clipper URL-trigger patterns.
Works on Property, First level title, and Note file (the three filename operators — Filename contains, Filename not contains, Filename exactly match). It does not work on Parent folder is / Parent folder is not, which always stay literal path matching.
IF First level title: contains → /\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])/
Matches a title like “Nota da reunião 2026-08-22 com John Doe” — the plugin finds the date 2026-08-22 inside the text.
Flags
Standard JS regex flags are supported as a suffix:
/report/i # case-insensitive
/^draft/m # multiline
Regex mode is case-sensitive by default, on every condition type — add the i flag yourself if you want case-insensitive matching. This is the opposite of literal (non-regex) matching on a Note file filename condition, which is always case-insensitive. Property and First level title literal matching is case-sensitive either way, so only the Note file case actually flips behavior when you switch to a regex.
exactly match and contains behave identically in regex mode. Both simply test whether the pattern matches anywhere in the value (JavaScript’s RegExp.test()) — exactly match does not implicitly anchor the pattern to the whole string. If you want a true full-string match, anchor it yourself with ^ and $: /^\d{4}-\d{2}-\d{2}$/. Only does not contain actually changes behavior in regex mode (it negates the test result).
Missing slashes
If the text you type looks like a regex but is missing its /slashes/, the settings UI shows a hint under the field so it’s easy to catch before it silently gets treated as a literal string.
Malformed patterns fail safe
A malformed pattern (or unknown flag) never crashes a scan: it’s treated as “does not match”, and you get a one-time Notice plus a console.error identifying the broken pattern — not one Notice per file.
Mobile note: avoid regex lookbehind ((?<=...) / (?<!...)) if you sync your vault to iOS — it isn’t supported on iOS versions before 16.4. Named capture groups ((?<name>...), used by ``) are unaffected; only lookbehind assertions are the risk.
Typed properties bypass regex
Typed property coercion (normalizing a checkbox/date/datetime value before comparing) only applies to literal (non-regex) matching. In regex mode, the property’s raw stored value is tested directly against your pattern — so a date property still stored as 2025-08-08 needs a pattern that matches that ISO format, not whatever format you’d otherwise type for a literal comparison.
Reusing the match in THEN
Whatever your IF regex matched — the full text, a numbered group, or a named group — is available in THEN actions via . See [ in THEN (Beta)](/actions/note-file-actions#match-in-then-beta).