;============================================================ ; iron_regex_net.hsp — 正規表現 (.NET版) ; System.Text.RegularExpressions.Regex ; hsp3net 専用。 ;============================================================ #ifndef __iron_regex_net_hsp__ #define __iron_regex_net_hsp__ #module iron_regex_net #deffunc netregex_match str pattern, str text, \ local _re1, local _m1 newnet _re1, "", "System.Text.RegularExpressions.Regex", 0, pattern netres _m1 mcall _re1, "IsMatch", text return nettoval(_m1, 4) #deffunc netregex_search str pattern, str text, \ local _re2, local _m2, local _v2, local _s2 newnet _re2, "", "System.Text.RegularExpressions.Regex", 0, pattern netres _m2 mcall _re2, "Match", text netres _v2 mcall _m2, "get_Success" if nettoval(_v2, 4) == 0 { delnet _m2 : delnet _re2 return "" } netres _v2 mcall _m2, "get_Value" _s2 = nettoval(_v2, 2) delnet _m2 : delnet _re2 return _s2 #deffunc netregex_replace str pattern, str text, str rep, \ local _re3, local _r3, local _s3 newnet _re3, "", "System.Text.RegularExpressions.Regex", 1 netres _r3 mcall _re3, "Replace", text, pattern, rep _s3 = nettoval(_r3, 2) delnet _re3 return _s3 #defcfunc netregex_count str pattern, str text, \ local _re4, local _mc4, local _cnt4, local _n4 newnet _re4, "", "System.Text.RegularExpressions.Regex", 0, pattern netres _mc4 mcall _re4, "Matches", text netres _cnt4 mcall _mc4, "get_Count" _n4 = nettoval(_cnt4, 4) delnet _mc4 : delnet _re4 return _n4 #deffunc netregex_split str pattern, str text, \ local _re5, local _ar5, local _ln5, local _it5, local _res5, local _n5 newnet _re5, "", "System.Text.RegularExpressions.Regex", 0, pattern netres _ar5 mcall _re5, "Split", text netres _ln5 mcall _ar5, "get_Length" _n5 = nettoval(_ln5, 4) _res5 = "" repeat _n5 netres _it5 mcall _ar5, "GetValue", cnt if _res5 != "" : _res5 += "\n" _res5 += nettoval(_it5, 2) loop delnet _ar5 : delnet _re5 return _res5 #global #endif