A regex tester that reports named groups by name
A green tick tells you the pattern matched something. It does not tell you what, where, or whether the group you care about captured what you think.
The sample text is the sensitive part
People rarely worry about a regex tester, because the pattern itself is harmless. But you do not test a pattern against nothing — you test it against a log excerpt, a customer export, a batch of email addresses, a page of production output. That sample is the payload, and it is what gets uploaded.
What a result should tell you
- The matched text, and the line and offset where it was found.
- Every capture group, numbered, with its own contents.
- Named groups reported under their names rather than as index 3.
- The count, so you can tell one match from forty.
Named groups
Once a pattern has more than two groups, positional indexes stop being readable. Named groups fix that, and a tester that reports them by name keeps the benefit:
(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})Bellows lists year, month and day by name in the results rather than as groups 1, 2 and 3.
The flags that change everything
- Case insensitive — the most common reason a pattern silently fails.
- Multiline — makes ^ and $ match at each line rather than only at the start and end of the whole input.
- Dot matches newline — without it, . stops at a line break, which is why patterns spanning lines return nothing.
A note on the flavour
Regular expression syntax is not one language. Bellows uses ICU regular expressions, which is what Swift and macOS use natively, and which is close to PCRE for everyday patterns. Lookbehind, named groups and Unicode properties all work; a few exotic PCRE constructs do not. If a pattern is destined for a different engine, test it there before shipping.
How to check the claim rather than trust it
Bellows is signed without a network entitlement. That is not a policy someone wrote down — it is a permission the binary does not have, and macOS enforces it whether the app wants to connect or not. You can read the entitlements it was signed with:
codesign -d --entitlements - /Applications/Bellows.appNeither com.apple.security.network.client nor com.apple.security.network.server appears in the output. Without them the sandbox refuses to open a socket.
Regex Tester is one of 41 tools in Bellows
A native Mac app that ships with no network entitlement, so macOS blocks it from connecting at all. One-time purchase, every future update included.
What Bellows is →Questions
What regex flavour does Bellows use?
ICU regular expressions, the engine built into macOS and used by Swift. It is close enough to PCRE that ordinary patterns behave identically, including named groups and lookbehind.
Why does my regex not match across lines?
By default the dot does not match a newline. Turn on the dot-matches-newline flag, or use multiline mode if what you want is for ^ and $ to anchor at each line.
How do I use named capture groups?
Write (?<name>...) around the part you want to capture. Bellows reports each named group under its name in the results.