RegExRX 4+

Kem Tekinay

    • 4.8 • 127 Ratings
    • $4.99



A complete regular expression development tool meant for novices and professionals alike, this editor has many features designed to help in the development and storage of regular expressions. Based on the PCRE library, RegExRX will allow a user to craft patterns that are compatible with most regular expression flavors and will let them easily copy those patterns to other languages like Objective-C, Perl, Ruby, PHP and Xojo.

Some features include:

- Search and Replace modes.
- Color-coded tokens in both the "search" and "replace" patterns.
- Live matching against source text. Live replace too, where applicable.
- Insert menus with almost every acceptable token and a description of what they do, including constructs for various groupings, conditionals, lookarounds, and POSIX expressions.
- A "Match List" that shows all matches, with subexpressions and group names, and represents invisible characters like a space or return with their token equivalents ("\s" or "\r").
- Dark Mode support.
- Optionally show invisible characters in each field.
- A Templates menu for oft-used patterns. Save As Template from the File menu, or download free samples from our website directly into the Templates folder.
- Export the Match List to a text file, Excel, FileMaker Pro XML, or just the Clipboard.
- Save the Replaced Text to a text file.
- Stats on both the source text and replaced text so you can tell exactly where you are and what characters are represented at all times. Helps avoid errors caused by invisible characters.
- Linked scrolling among the source text, the replaced text and the Match List.
- Support for Unicode tokens, verbs, and subroutines.
- Save regular expressions in documents for reuse.
- Open as many windows as desired.
- Multiple levels of undo and redo.
- Link your sample source text to a file for easy reloading.
- Support for free-spacing mode.
- Full Unicode support, including a chart of all Unicode characters.
- A fluid interface that lets you resize each panel freely.
- Copy the find and replace patterns in ready-to-paste code for Objective-C, Perl, PHP, Ruby, AppleScript, JavaScript, 4D, and Xojo.

We also provides several ready-to-use sample regular expressions in a separate, free download. These samples include finding e-mail addresses, validating dates, removing duplicate lines, and more, and are available at our web site. (Check the Help menu to download directly through RegExRX.)

What’s New

Version 1.9.2

New Features:

- 64-bit.
- Dark Mode support.
- Added Toggle Invisibles option to each field.
- Ability to split the source into multiple virtual documents.
- Added a preference to open templates as "clean".
- Exporting the Match List to Excel or FileMaker Pro XML will include the replacement when in Replace mode.
- Export Match List to Clipboad option.
- Updated PCRE to 8.42.
- Copy as Xojo code now includes a loop to fetch the next match.
- Character Chart will show invalid code points in red.


- Fixed help tag on Help Tags preference checkbox.
- Fixed tab wrapping problem on Mac version (text would wrap to the next line if a tab was after the 50th character).
- A failed "Reload Source" will show an error message instead of an Exception.
- Moving an open document will no longer crash.

Ratings and Reviews

4.8 out of 5
127 Ratings

127 Ratings

XnicknameX ,

Good stuff.

I'm happy. I use a lot of POSIX (Unix) regular expressions and the results are good. What more can I say? NO reson not to give it the highest rating. No bugs after months of use. You can drag and drop in a huge test file to play with.

Once you set the preferences and options to match POSIX you're all good. Don't forget POSIX default for grep is: line oriented, case sensitive, finds first match (in a line) only, strict, greedy, default line endings (for Unix) are LF.

Of course you can change all of this, but the settings are all over the place, and it isn't taking command line switches. A consequence of the fact that this app can emulate regexp in different languages.

Alan-Laidlaw ,

Huge time saver

I tried online tools, i downloaded and tried a couple of competitors from the app store but this is the tool I use to help me develop, refine and debug RegEx's.
It is focused on helping you get the job done without trying to be cute or flashy.
Features I like :
• accuracy, if it works in RegEx it has always worked the same way in my Perl script
• color coding in the match expression it makes it more readable.
• ability to paste in large ammonts of source text.
• ability to save out the pattern & source text you are working on so you can return to them later.
• colour coded match list which shows what will end up in your $1. $2 etc capture groups.
• click on match takes you to the match in the source text
• clean drop down for syntax hints

What doesn't it do
It doesn't show invisible characters in the source text - at least if it does I haven't been able to work out how.

dvandusen ,

Results are pretty good functionally, but inaccurate

I used the search string
^((?!TRACE: ).)*($|\n)
replace null


trace: ggdgfhdfghd
trace: ggdgfhdfghd

with various line ending options (a good feature), and received: (with spacing shown!)

trace: ggdgfhdfghd

trace: ggdgfhdfghd

and replacement: (arrows not shown - it is not easy to cut and paste from replaced window)


This is inaccurate because the failure to remove blank lines in

trace: ggdgfhdfghd

trace: ggdgfhdfghd

which should result as

trace: ggdgfhdfghd
trace: ggdgfhdfghd

I tried all options.

Not all editors require the ($|\n)

Also, I tried

^((?!TRACE: ).)*[$|\n]

again on: (note - last line does not have a line ending other than end of file of some sort)

trace: ggdgfhdfghd
trace: ggdgfhdfghd

It returns:
trace: ggdgfhdfghd
trace: ggdgfhdfghd

which implies that the [$|\n] REQUIRES a stated line ending, but that the ($|\n) can live without it. I believe that this is wrong.

Developer Response ,

Hi dvandusen. The order in the alternation matters, so "($|\n)" will stop as soon as it gets to the end of line and never see the EOL after it. Try switching that order and use "\R" (any type of valid line ending) instead, so "(\R|$)" and I think you'll find it works as desired.

The pattern I'm suggesting in its entirety:

^((?!TRACE: ).)*(\R|$)

You can simplify this to:

^(?!TRACE: ).*(\R|$)

App Privacy

The developer, Kem Tekinay, has not provided details about its privacy practices and handling of data to Apple. For more information, see the developer’s privacy policy.

No Details Provided

The developer will be required to provide privacy details when they submit their next app update.


  • Family Sharing

    Up to six family members can use this app with Family Sharing enabled.