0.12 2022-08-18
[New Features]
* The match method of the Regex class can receive the offset and the length.
[Before]
method match : int ($string : string)
[After]
method match : int ($string : string, $offset = 0 : int, $length = -1 : int)
[Document Fix]
* Fix many document mistakes.
[Bug Fix]
* Fix the bug that the replace offset is over the length of the string. This maybe raises some moery leak.
[Requirement Changes]
* Need SPVM 0.9643+.
[Incompatible Changes]
* The definitions of the following methods of the Regex class.
[Before]
method match_offset : int ($string : string, $offset : int*);
method replace_g_offset : string ($string : string, $offset_ref : int*, $replace : string)
[After]
method match_forward : int ($string : string, $offset : int*);
method replace_g_forward : string ($string : string, $replace :object of string|Regex::Replacer, $offset_ref : int*)
* The following methods of the Regex class are removed.
method replace_cb_offset : string ($string : string, $offset_ref : int*, $replace_cb : Regex::Replacer)
method replace_g_cb_offset : string ($string : string, $offset_ref : int*, $replace_cb : Regex::Replacer)
method replace_offset : string ($string : string, $offset_ref : int*, $replace : string)
* Remove the following methods of the Regex
method replace_g_forward : string ($string : string, $replace :object of string|Regex::Replacer, $offset_ref : int*);
* The definitions of the following methods of the Regex class.
[Before]
method replace_common : string ($string : string, $replace : object, $options : object[], $offset_ref : int*) {
[After]
method replace_common : string ($string : string, $replace : object, $offset_ref : int*, $options : object[]) {
* The definitions of the following methods of the Regex class.
[Before]
static method new : Regex ($pattern_and_flags : string[]...)
{After]
static method new : Regex ($pattern : string, $flags = undef : string)
* The definitions of the following methods of the Regex class.
[Before]
method replace : string ($string : string, $replace : object of string|Regex::Replacer)
method replace_g : string ($string : string, $replace : object of string|Regex::Replacer)
precompile method replace_common : string ($string : string, $replace : object, $offset_ref : int*, $options = undef : object[])
[After]
method replace : string ($string : string, $replace : object of string|Regex::Replacer, $offset = 0 : int, $length = -1 : int, $options = undef : object[])
method replace_g : string ($string : string, $replace : object of string|Regex::Replacer, $offset = 0 : int, $length = -1 : int, $options = undef : object[])
precompile method replace_common : string ($string : string, $replace : object, $offset_ref : int*, $length = -1 : int, $options = undef : object[])
[Changes]
* The definitions of the following methods of the Regex class.
[Before]
method replace_common : string ($string : string, $replace : object, $offset_ref : int*, $options : object[]) {
[After]
method replace_common : string ($string : string, $replace : object, $offset_ref : int*, $options = undef : object[]) {
0.11 2022-08-08
[Text Fix]
* Fix tests for SPVM upgrading.
0.10 2022-08-01
[Internal Ineffective Changes]
* Use get_field_object_by_name_v2 in SPVM/Regex.cpp
* Use set_field_object_by_name_v2 in SPVM/Regex.cpp
[Pre Requirement Changes]
* SPVM 0.9632 is needed.
0.09 2022-08-01
[Internal Changes]
* Remove unused SPVM::Pattern class
[Test Fix]
* Add unexpectedly removed tests.
* Add URL escape test.
0.08 2022-07-22
[Bug Fix]
* Fix the bug that RE2 object is not released in the destructor.
* Fix the bug that RE2 object is leaked when the compilation error occurs.
0.07 2022-07-15
[Document Fix]
* Fix document of cap1 to cap20 simple mistake.
0.06 2022-07-15
[Incompatible Changes]
* Regex 0.06 binds Google Re2.
* Change the field and method definitions
[Before]
has captures : ro string[];
has match_start : ro int;
has match_length : ro int;
has replace_count : ro int;
has before_is_hyphen : byte;
has before_is_open_bracket : byte;
native static method re2_test : void ();
static method new : Regex ($re_str_and_options : string[]...)
static method new_with_options : Regex ($re_str : string, $option_chars : string)
method match : int ($target : string, $target_base_index : int)
method replace : string ($target : string, $target_offset : int, $replace : string)
method replace_cb : string ($target : string, $target_offset : int, $replace_cb : Regex::Replacer)
method replace_all : string ($target : string, $target_offset : int, $replace : string)
method replace_all_cb : string ($target : string, $target_offset : int, $replace_cb : Regex::Replacer)
method cap1 : string ()
method cap2 : string ()
method cap3 : string ()
method cap4 : string ()
method cap5 : string ()
method cap6 : string ()
method cap7 : string ()
method cap8 : string ()
method cap9 : string ()
method cap10 : string ()
[After]
has captures : ro string[];
has match_start : ro int;
has match_length : ro int;
has replaced_count : ro int;
static method new : Regex ($pattern_and_flags : string[]...)
method match : int ($string : string)
method match_offset : int ($string : string, $offset : int*);
method cap1 : string ()
method cap2 : string ()
method cap3 : string ()
method cap4 : string ()
method cap5 : string ()
method cap6 : string ()
method cap7 : string ()
method cap8 : string ()
method cap9 : string ()
method cap10 : string ()
method cap11 : string ()
method cap12 : string ()
method cap13 : string ()
method cap14 : string ()
method cap15 : string ()
method cap16 : string ()
method cap17 : string ()
method cap18 : string ()
method cap19 : string ()
method cap20 : string ()
method replace : string ($string : string, $replace_string : string)
method replace_cb : string ($string : string, $replace_cb : Regex::Replacer)
method replace_g : string ($string : string, $replace_string : string)
method replace_g_cb : string ($string : string, $replace_cb : Regex::Replacer)
method replace_offset : string ($string : string, $offset_ref : int*, $replace : string)
method replace_cb_offset : string ($string : string, $offset_ref : int*, $replace_cb : Regex::Replacer)
method replace_g_offset : string ($string : string, $offset_ref : int*, $replace : string)
method replace_g_cb_offset : string ($string : string, $offset_ref : int*, $replace_cb : Regex::Replacer)
[Changes]
* Need SPVM::Resource::Re2::V2022_06_01 0.05.
* Need SPVM 0.9615.
0.05 2022-06-23
* Catch up with SPVM 0.9612.
0.04 2022-06-22
* Catch up with SPVM::Unicode 0.03.
0.03 2022-06-21
* Fix some bugs
0.02 2022-06-13
- Catch up with latest SPVM.
- Add SPVM::Unicode to Makefile.PL
0.01 2022-06-07
- First development release