Post a Comment
Congratulations. You have linked to an article that claims to be about regular expressions which has NO discussion of regular expressions in it.
Then you followed it up with an article that supposedly explains regular expressions but only muddies the water by confusing the uninitiated about the difference between naive pattern matching and regular expressions.
Please stop. Informit articles suck.
No. They have enough misinformation to have you confuse pattern replacement patterns with regular expersions.
I've seen discussions of regular expressions in fewer words that did a better job and didn't cause people to confuse them with the '*' and '?' glob patterns.
Nor do these discussions give you enough to get started, as they don't even cover all of the syntax in the example they gave.
Writing an example that you don't even explain is lousy exposition. period.
http://www.regular-expressions.info/tutorial.html which is the first hit in google for regular expression tutorial is far better and doesn't try to confuse people by comparing regexps to something they're not.
Probably none of you need introductory material to regular expressions, but if you know anyone who does, RegexBuddy, whose tutorial is Cloudy's cited link, is a great (non-free) package if you are learning the things. Or there is the material in Robbins books on Awk which have very nice compact explanations. Though I found the Aho book on Awk much better to learn Awk itself from.
RE: RegexBuddy
I use The Regex Coach (http://weitz.de/regex-coach/) which is free, or donationware I should say.
If you want a detailed listing of all regular expressions check the "Programming Ruby" book (the standard Ruby reference. Also it is very easy to play with ruby because they have them built in! Sorry if I am a little off topic but I am learning Ruby lately and it is so impressive!
IMHO "SQL-like" syntax would be MUCH MORE usefull for regular expressions. Existing syntax is...crap. It's just like some kind of weird cipher, very hard to use and understand.
If you mean by "SQL-like" the syntax SQL uses for the LIKE clause, that's exactly the same pattern matching syntax that 'wildcards' use, except with '?' replaced by '_' and '*' replaced by '%'.
As far as I know, SQL doesn't have regex matching, although, apparently, most SQL implementations have one non standard form or another. MySQL uses unix regexp syntax, for instance: http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.html
while regular expression syntax can be hard to read, it's actually pretty good for what it does, and no one has ever come up with a better syntax for regular-expression based pattern matching.
I don't think Cloudy is refering to the "like" clause in SQL.
I think you mean BlackTiger rather then Cloudy.
I think he wants a more human language syntax for regular expressions, rather than using symbols.
Probably. Such approaches become very wordy very quickly; especially if you're using the regexp for substitution.
I can't speak for BlackTiger, but my experience with people having trouble with regexps is that they've learned how to use them by stumbling through crappy discussions like the InformIt one that are more confusing than helpful and so don't have a solid grasp of what regexps are and what they do.
It's amazing how many people don't even know that a regexp is a program in a special purpose programming language, for example; or that there are many slightly different variants on regexp syntax.
As much as reference documentation is concise and complete, many people refuse to read it. These people want the same information rewritten in the form of book, so here you have it. This is the new trend in technical documentation: copy/paste the reference docs, put transitional sentences between the sections, and add synthetic code examples that use the functionality.
On the topic, I just find C#'s string functionality to be a little clunky, especially format strings and the StringBuilder class. I'd much rather use IronPython for text processing tasks in .NET.



