On 01.09.2008, at 23:37, Hans-Jörg Bibiko wrote:
On 01.09.2008, at 22:38, Charles Turner wrote:
Hi all- &a &B &! 'c' 'D' '!' "e" "F" "@" ^G ^h ^+
within the match field of a language grammar.
If I use the search dialog box, this regexp will work for characters enclosed in single apostrophes:
((?<=^)|(?<=\s))(([&^]\S)|('\S'))(?=\s)
But it doesn't work when I get it into the match field, I suspect because of the framing apostrophes, as in:
{ name = 'constant.character.forth'; match = '((?<=^)|(?<=\s))(([&^]\S)|('\S'))(?=\s)'; },
Any ideas about what I'm doing wrong, or how I can solve my trouble?
Maybe this could help: E.g. ("|\x{27}) for " or '
27 is the hex code for a '
If there is no need to distinguish between e.g. quoted.double and quoted.single in your language grammar you could use this for instance:
match = '("|\x{27})([[:alnum:]]+)\1';
will match 'STRING' or "STRING" but not "STRING'
\1 contains the match of the first regexp group ("|\x{27})
--Hans