|
|
Choosing A Webhost: |
Re: [Boston.pm] '/' =~ m"\/\b"; (bug?): msg#00034lang.perl.perl-mongers.boston
>>>>> "CE" == Carl Eklof <carleklof-/E1597aS9LQAvxtiuMwx3w@xxxxxxxxxxxxxxxx> >>>>> writes: CE> My assumption was that the \b pattern in a regex would CE> always match the beginning and end of a string (as CE> documented in the perlre page). However on my build of CE> 5.8.7 this is not the case if the character being CE> matched at the beginning or the end is a CE> "meta-character" ie. quotemeta would escape it. Also CE> note that escaping the charcter doesn't seem to make a CE> difference. from perlre: A word boundary ("\b") is a spot between two characters that has a "\w" on one side of it and a "\W" on the other side of it (in either order), counting the imaginary characters off the beginning and end of the string as matching a "\W". note that \b must have opposing character types on each side. so with that in mind, let's look at your examples and both sides of \b CE> Here are some more examples, run in `perl -d -e 1`: CE> DB<26> p '/' =~ m"\/\b"; / is a \W and so is the end of regex so \b fails to match CE> DB<27> p '/' =~ m"\/"; CE> 1 no \b to worry about CE> DB<28> p 'a' =~ m"a\b"; CE> 1 'a' on one side and end of regex which is \W so this matches CE> DB<29> p 'a' =~ m"\ba\b"; CE> 1 each /b is between a \w and outside the regex which is \W so it matches. CE> DB<32> p '/' =~ m"\/\b"; i am sure the rest of the examples will fall into the same reasons why the above work as they do. i leave them as an exercise to the OP. CE> Maybe this is not a bug, and this is just another CE> nuance of regexs' that I have not learned, but it CE> looks very fishy. no stinky fish here, just a subtle misunderstanding of the docs. uri -- Uri Guttman ------ uri-X/06uaNR9nFmbZtjAW+qKA@xxxxxxxxxxxxxxxx -------- http://www.stemsystems.com --Perl Consulting, Stem Development, Systems Architecture, Design and Coding- Search or Offer Perl Jobs ---------------------------- http://jobs.perl.org
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: [Boston.pm] '/' =~ m"\/\b"; (bug?), Carl Eklof |
|---|---|
| Next by Date: | [Boston.pm] prev. calendar clarification, Jerrad Pierce |
| Previous by Thread: | Re: [Boston.pm] '/' =~ m"\/\b"; (bug?), Carl Eklof |
| Next by Thread: | [Boston.pm] prev. calendar clarification, Jerrad Pierce |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
Free MagazinesCisco NewsReceive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business. subscribe Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field. subscribe The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business. subscribe Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company. subscribe Total Telecom Total Telecom is "The Economist of the communications industry". subscribe |