views:

531

answers:

19

Is their any wizards or tools to create and test regular expressions for PHP, because it is so difficult :( ? thanks :)

+10  A: 

RegexBuddy is a widely popular app for this purpose.

David Hanak
RegexBuddy is so good, I can't express it in 300 characters. Paid back whatever ($30 or $50) I paid for it within days.
mabwi
+6  A: 

reAnimator is a nice tool to visualize your regex as a state machine- I find it useful sometimes.

Python also allows you to view a regex parse tree, which can be helpful if you learn to read it.

Triptych
This is very cool!
Chris Ballance
A: 

I generally use Rubular when I'm working on testing a regular expression. You could also try txt2re.com, it can be handy for helping you figure out an expression and can even generate relevant PHP code.

Chad Birch
+1  A: 

Trial and error.

And print_r.

strager
That sounds like a most painful way to build Regexes.
Chris Ballance
@Ballance, All the more a better learning experience. =]
strager
+3  A: 

The Regex Coach is a great free regex tool that I use fairly regularly.

I like RegEx Buddy also, but it costs $40 and I'm cheap.

Chris Ballance
+5  A: 

Unit testing with example data. Create two arrays, one with matching data, and one with non-matching data if necessary to test edge cases.

Andrew Vit
Whilst I like manually driven tools, like RegExpBuddy, and an add-in that's available for IntelliJ, having some unit tests to increase the long-term chances of the expression remaining valid is always a good idea.
belugabob
+3  A: 

i always use this: http://gskinner.com/RegExr/

Lance Kidwell
+1  A: 

I really like RegexPal, which is simple, clear, requires no installation and freely available online.

Wookai
+1  A: 

I use http://www.radsoftware.com.au/regexdesigner/

Jesper Palm
A: 

Here is another online regular expression tester.

http://www.fileformat.info/tool/regex.htm

JohnFx
+1  A: 

Online... there's an ajax regex checker with js/pcre/posix implementations, that checks as you type.. way cool.

http://www.rexv.org

null
A: 

Here's another online regex tester.

unigogo
+2  A: 

Expresso is free and gives nice breakup and explanation of the regex under analysis.

Learning
That's the one I use too
DeletedAccount
A: 

I used to use The Regex Coach. But because it's Perl based and most of the time I'm testing .NET regular expressions, I now use this online .NET regular expression tester.

Steve Wortham
+4  A: 

Trial and error success.

Because I've spent the time to actually learn it, instead of relying on something else to do it for me.

Same applies to any language/tool - take a bit of time to learn the syntax and general ethos, and you'll be far more productive than relying on intellisense, code hinting, and so on.

Peter Boughton
Hear, hear! (And the regex language isn't nearly as complex as it seems at first glance... I get them right on the first try much more often than not.)
Dave Sherohman
I get them right by the third try much more often than not, but I'll get back to you in a few years.
Telemachus
A: 

I liked the emacs re-builder.

Paul Nathan
A: 

I've written my own tool: Regular Expression Tester. Unlike many other web-based tools, this one can break a regex down into tokens and describe what each token is doing. It's great for examining new expressions, or expressions that you wrote a long time ago and don't quite remember.

Chris Nielsen
A: 

Since you're talking about PHP, you may be interested in Codebench. It is a tool, not specifically to break down regexes (you've got a lot of those listed already), but to benchmark them. Since it is rather generic, you can also compare non-regex solutions as often native string functions are faster. Moreover, it allows you to benchmark against multiple subjects (targets) as well. Hope you find it useful.

Geert
A: 

I'm using unit-testing. That way, I can grow my regex incrementally, being certain that the first cases I tested still pass. And if ever I have to modify it, I have all my tests to back me up.

philippe