How often do people use \A and \z (match start and end of a string)
instead of ^ and $ (match start and end of a line within a string)?
This question is prompted by:
(1) part of a post in the "What are your ruby rough cuts ?" thread:
* Regexp ^ and $ work match more than just start and end of string.
For example, /^abc$/ does not match only "abc" but also "rm -rf /*\nabc"
Comment: using \A and \z seems to avoid the unwanted(?) matches.
Am I missing something?
(2) a Regexp used in the Find module
if File::ALT_SEPARATOR and file =~ /^(?:[\/\\]|[A-Za-z]:[\/\\]?)$/ then
which matches "start of a line" + X + "end of a line",
where X is one of / \\ C: C:/ C:\\
Comment: using ^ and $ in Find will match in the (admittedly rather
unlikely) situation of a file path string containing "\n/\n", and I'm
wondering why ^ and $ are used in this Find module regexp instead of
using \A and \z.
How often do people use \A and \z (match start and end of a string)
instead of ^ and $ (match start and end of a line within a string)?
This question is prompted by:
(1) part of a post in the "What are your ruby rough cuts ?" thread:
* Regexp ^ and $ work match more than just start and end of string.
For example, /^abc$/ does not match only "abc" but also "rm -rf /*\nabc"
Comment: using \A and \z seems to avoid the unwanted(?) matches.
Am I missing something?
Most of the time I am going through data a line at a time, so this is not a concern.
However, it seems to me that many people are not aware of this distinction, thus we have things like this: Securing Rails Applications — Ruby on Rails Guides
(2) a Regexp used in the Find module
if File::ALT_SEPARATOR and file =~ /^(?:[\/\\]|[A-Za-z]:[\/\\]?)$/ then
which matches "start of a line" + X + "end of a line",
where X is one of / \\ C: C:/ C:\\
Comment: using ^ and $ in Find will match in the (admittedly rather
unlikely) situation of a file path string containing "\n/\n", and I'm
wondering why ^ and $ are used in this Find module regexp instead of
using \A and \z.
I suppose this is a bug.
-Justin
···
On 01/15/2011 06:43 PM, Colin Bartlett wrote: