Find patterns in a list

Find patterns in a list using full regex matching - default pattern `\d+` surfaces every line containing a number. Switch to non-regex modes (Contains, Equals, Starts with, Ends with) for simpler text matching. Same op family as Filter list lines, framed for regex-first search.

Input
Ready
Output
Live

Regex-first line filter

Default Mode is Regex and the default pattern is `\d+` - one or more digits. That keeps every line containing a number (or a ticket / order / ID). Replace the pattern with your own regex to match emails, dates, codes, or whatever shape your data follows.

The other four modes (Contains, Equals, Starts with, Ends with) escape the pattern so regex metacharacters like `.`, `*`, `+` match literally. Flip back to Regex when you need `|` alternation, character classes, or anchors.

Invalid regex shows a status-bar error without corrupting the input. Whole word adds `\b` word boundaries in non-regex modes (ignored in Regex - add them yourself). Case sensitive (off by default) flips the `i` flag. Same op as Filter list lines and Grep a list.

How to use find patterns in a list

  1. 1Paste your list into the input panel
  2. 2Write your regex in the Match field (default `\d+` matches any number)
  3. 3Keep Mode = Regex for pattern-based matching
  4. 4Toggle Invert to drop matching lines instead of keeping them
  5. 5Output updates live; invalid regex surfaces in the status bar

Keyboard shortcuts

Drive ListShift without touching the mouse.

Shortcut Action
Ctrl ZUndo last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor
EscExit fullscreen
Ctrl KOpen the command palette to jump to any tool
Ctrl SSave current pipeline draft Plus
Ctrl PRun a saved pipeline Plus

What this tool actually does

Per-line regex test with invert + case + whole-word refinements.

Full JavaScript regex

Anchors (`^` / `$`), character classes (`[a-z]`, `\d`, `\w`), quantifiers (`*`, `+`, `{n,m}`), groups, alternation (`a|b`), lookaheads. Everything `new RegExp()` accepts in modern browsers.

Non-regex modes for literal text

Contains / Starts with / Ends with / Equals escape the pattern so `.`, `*`, `+` match literally. Pick these when your search term is plain text rather than a pattern.

Safe error handling

Invalid regex (unclosed bracket, bad escape) shows the message in the status bar and leaves output empty. Your input is not mutated - fix the pattern and the output recomputes.

Whole word only applies outside Regex mode

Wraps the (escaped) pattern in `\b…\b` boundaries. In Regex mode the toggle is ignored - insert `\b` anchors directly in your pattern.

Same op as Filter list lines / Grep

Three URLs for different search intents - Filter list lines (general), Grep a list (grep-style framing), and this page (regex-first). Pick whichever matches how you think about the task.

Worked example

Default pattern `\d+` (Regex mode) keeps every line containing one or more digits.

Input
order 1234
hello world
ticket #5678
just text
ID 42 assigned
Output
order 1234
ticket #5678
ID 42 assigned

Settings reference

How each option shapes the output using the sample above (pattern `\d+`, Regex mode).

Setting What it does Effect on the sample
Mode: Regex (default), Pattern: `\d+` Matches lines with one or more digits `order 1234`, `ticket #5678`, `ID 42 assigned`
Pattern: `^[a-z]+$` Lines that are entirely lowercase letters `just` would match; `hello world` has a space so it fails
Invert: on Drops matches instead of keeping them `hello world`, `just text` (non-numeric lines)
Mode: Contains (non-regex) Literal substring match - `.` matches only `.` Pattern `\d+` matches nothing (no literal `\d+` in any line)
Invalid pattern (e.g. `[abc`) Error shown in status bar; output empty Input preserved; fix the pattern to recompute

FAQ

How is this different from Filter list lines or Grep a list?
Same op, same options, same behaviour. Three URLs for three search intents: this page is regex-first ("find patterns"), Filter list lines is general-purpose, Grep a list is the grep-framing. Use whichever matches how you think about the task.
Does Whole word affect regex mode?
No - it is ignored when Mode is Regex. Insert `\b` word-boundary anchors directly in your pattern if needed.
What happens with invalid regex?
The output goes empty and the status bar shows the syntax error. Your input is not modified. Fix the pattern and the output recomputes live.
Can I match across multiple lines?
No - the filter runs per line. Multi-line patterns like `a\nb` do not match because each line is tested in isolation. For whole-text regex, use Replace or pre-join the lines.
Does the tool strip whitespace before matching?
No. `^apple$` does not match ` apple` (leading space). Chain trim first if whitespace is inconsistent.