in reply to Regexp do's and don'ts
Do know about precedence since disregarding it is one of the highest crime in regex country:5. Do know what your regex really means.<br> • Do know about ^, $, variable interpolation, the matching rules as de +scribed by the Camel Book, modifiers, and the meaning of \n (newline) + in combination with ., ^ and $
I've made a sample common mistake not paying attention to precedence and I use this as a chance to pillory myself giving a perfect example of what not to do.
In node Re: Short or Long Hand I was using an alternation being based on anchors:
/^0|6$/
This simply says match 0 at the beginning or match 6 at the end while my intention was to match 0 or 6 ranging from beginning to the end of the string:
/^(?:0|6)$/
As an addition to your tutorial I'd like to see the basic requirement for regexes:
• You can't write an efficient regex as long as you don't know what your expected data will be:
Always think of the expected data while changing or simplifying regexes.
I personally like the term 'regexpected'
Keep it in mind and it will save your life ;-)
Please feel free to downvote node Re: Short or Long Hand
/me castigating myself for not paying attention to precedence
|
---|
In Section
Meditations