Version 0.31
16-jan-2006
* Add the compatibility with stupid compiler vc6 for its reporting
C2002(invalid wide-character constant) error with like L"\xa0"
(\x81-\xff will be too).
The change means that the code compiled by vc6 will cause the
character class such as using \p{} in unicode mode may be little
different than Unicode Standard. So Sorry...
* Changed comment style
+ Add some API
Version 0.3
12-jan-2006
* Changed much details for more efficiency
- Fixed some bugs
31-dec-2005
* Changed a little design details for more efficiency
Regexp is a library that implement regular expression pattern matching. Its name is 'YRE'. It is all powered by C programming language and has no dependency except for C standard library.
Syntax of YRE based on the module 're' in python, also with Perl regular expressions
It can support:
. Alternation: re1|re2
. Grouping: (re)
. Named Grouping: (?P<name>re)
. Non-Capturing: (?:re)
with Embedded Modifier: (?-ism:re)
. Look Ahead and Negative: (?=re), (?!re)
. Look Behind and Negative: (?<=re), (?<!re),
. Conditional Expressions: (?(digit)re), (?(digit)re1|re2), (?(name)re), (?(name)re1|re2)
. Embedded Comment: (?#comment)
. Embedded Modifier: (?-ism)
. Back References: \digit
. Back References Named Grouping: (?P=name)
. Character Class: [], [^]
. Matching Almost Any Character: .
. Matching Start: ^
. Matching End: $
. Repetitions: re?, re*, re+, re{m,n}, re{m,}, re{,n}, re{m}, re??, re*?, re+?, re{m,n}?, re{m,}?, re{,n}?, re{m}?
. Escape Sequence:
Abbreviations: \d, \D, \s, \S, \w, \W, \a, \t, \r, \f, \n, \e, \v, \b, \B
Octal Byte: \???
Hexadecimal Byte: \x??
Wide Character: \u????
Control Character: \c?
Unicode or POSIX Name: \p{pname}, \P{pname}... read more