[Issue 12367] std.regex: Recognize (?# ... ) comment syntax
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Mar 14 17:21:10 PDT 2014
https://d.puremagic.com/issues/show_bug.cgi?id=12367
bearophile_hugs at eml.cc changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bearophile_hugs at eml.cc
--- Comment #1 from bearophile_hugs at eml.cc 2014-03-14 17:21:08 PDT ---
(In reply to comment #0)
> A comment syntax would be handy for particularly long expressions.
>
> This syntax seems to be already supported by several existing engines:
> http://www.regular-expressions.info/freespacing.html#parenscomment
While it's good to have a basic (?# ... ) comment syntax, I much prefer the
Python verbose regex syntax, because it allows me to lay down regexes as little
programs, with logically indented lines and #-style comments:
http://docs.python.org/2/library/re.html
http://www.diveintopython.net/regular_expressions/verbose.html
>>> pattern = """
^ # beginning of string
M{0,4} # thousands - 0 to 4 M's
(CM|CD|D?C{0,3}) # hundreds - 900 (CM), 400 (CD), 0-300 (0 to 3 C's),
# or 500-800 (D, followed by 0 to 3 C's)
(XC|XL|L?X{0,3}) # tens - 90 (XC), 40 (XL), 0-30 (0 to 3 X's),
# or 50-80 (L, followed by 0 to 3 X's)
(IX|IV|V?I{0,3}) # ones - 9 (IX), 4 (IV), 0-3 (0 to 3 I's),
# or 5-8 (V, followed by 0 to 3 I's)
$ # end of string
"""
--
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list