Topic: regular expressions and backslashes


Author: "Marcus" <yuu@yyhmail.com>
Date: 8 Sep 2005 04:30:02 GMT
Raw View
I've seen that the library technical report includes a regular
expression library.
However, since regular expressions use a lot of backslashes (\w, \1,
etc.) and they are escape characters in C++ strings, the programmer has
to write things like this: "\\w" and "\\\\" for regexps "\w" and "\\",
respectively.
Have raw-strings been considered to simplify these cases?

For example, Python and D work like this:
r"\w" == "\\w"
r"c:\tsd" == "c:\\tsd"

(D has an alternate syntax for this feature, using backticks: `\w`,
which allow double quotes inside the string)

C# uses an @ before the string (@"c:\omf" == "c:\\omf").

IMHO, this kind of lexical sugar makes the language a lot easier to
work with (at least for those who use regexps and such) and they don't
complicate the language (it's just a lexical change).

PS: From the D language, there are other little things i would like to
see in C++, such as thousand separators (123_456 == 123456 ==
1_2_3_4_5_6) and hex strings. However, people may think i just want to
copy lots of features and make one language look like another...

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html                       ]