Two files:
<http://tech.groups.yahoo.com/group/power-pro/files/Plug-ins_and_add-ons/regex0203_w_PCRE7.2.zip>
<http://tech.groups.yahoo.com/group/power-pro/files/Plug-ins_and_add-ons/regex_pcre_chm_72.zip>
pcre.dll, regex.chm, the test script and output provided files have
been updated. The second file included pcre.chm (updated to pcre 7.2
documentation).
Below are some notes from the pcre 7.2 update. I particularly like the
new \K feature myself.
Regards,
Sheri
Added more features from the forthcoming Perl 5.10:
(a) (?-n) (where n is a string of digits) is a relative subroutine or
recursion call. It refers to the nth most recently opened parentheses.
(b) (?+n) is also a relative subroutine call; it refers to the nth next
to be opened parentheses.
(c) Conditions that refer to capturing parentheses can be specified
relatively, for example, (?(-2)... or (?(+3)...
(d) \K resets the start of the current match so that everything before
is not part of it.
(e) \k{name} is synonymous with \k<name> and \k'name' (.NET compatible).
(f) \g{name} is another synonym - part of Perl 5.10's unification of
reference syntax.
(g) (?| introduces a group in which the numbering of parentheses in each
alternative starts with the same number.
(h) \h, \H, \v, and \V match horizontal and vertical whitespace.
A pattern such as (.*(.)?)* caused pcre_exec() to fail by either not
terminating or by crashing. Diagnosed by Viktor Griph; it was in the code
for detecting groups that can match an empty string.
A pattern with a very large number of alternatives (more than several
hundred) was running out of internal workspace during the pre-compile
phase, where pcre_compile() figures out how much memory will be needed. A
bit of new cunning has reduced the workspace needed for groups with
alternatives. The 1000-alternative test pattern now uses 12 bytes of
workspace instead of running out of the 4096 that are available.