If you were trying to match quotes in text taken from a MS Office document, then that would explain the trouble you were having. By default, MS converts " and ' into "Smart Quotes".
A similar problem for \q is it would need to be locale dependant since different languages use different quoting schemes.
/\".+\"/seems to work at first, and it will work for very simple cases, but it would probably not do what you wanted for the expresssion
ABC "DEF" GHI "JKL" MNOwhere it would match "DEF" GHI "JKL". To match "DEF" and "JKL" seperately, you would need something like:
/\".+?\"/We probably should use .*? instead of .+? to handle things like "". But, if you are dealing with code, none of these solutions handles things like "AB\"C". There is a common boilerplate regex for this, but at this point you may want to take a look at the documenation for Text::Balanced which is a core module for 5.8 (and probably earlier). If provides matching solutions for all sorts of common problems like this.
Ted
PS: It is quite possible you already new all of this and had left it out in the interest of brevity. :-)
In reply to Re: \q quote-matching operator
by TedYoung
in thread \q quote-matching operator
by PhilHibbs
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |