1*22dc650dSSadaf Ebrahimi#pattern framesize, memory 2*22dc650dSSadaf Ebrahimi 3*22dc650dSSadaf Ebrahimi/abcd/ 4*22dc650dSSadaf Ebrahimi abcd\=memory 5*22dc650dSSadaf Ebrahimi abcd\=find_limits 6*22dc650dSSadaf Ebrahimi 7*22dc650dSSadaf Ebrahimi/(((((((((((((((((((((((((((((( (^abc|xyz){1,20}$ ))))))))))))))))))))))))))))))/x 8*22dc650dSSadaf Ebrahimi abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcX\=memory 9*22dc650dSSadaf Ebrahimi abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcX\=find_limits 10*22dc650dSSadaf Ebrahimi 11*22dc650dSSadaf Ebrahimi/ab(cd)/ 12*22dc650dSSadaf Ebrahimi abcd\=memory 13*22dc650dSSadaf Ebrahimi abcd\=memory,ovector=0 14*22dc650dSSadaf Ebrahimi 15*22dc650dSSadaf Ebrahimi/\[(a)]{1000}/expand,framesize 16*22dc650dSSadaf Ebrahimi \[a]{1000}\=ovector=1 17*22dc650dSSadaf Ebrahimi 18*22dc650dSSadaf Ebrahimi# The heapframes_size option gets pcre2test to show the size of the heapframes 19*22dc650dSSadaf Ebrahimi# vector that after pcre2_match() has run. Running a match with ovector=0 20*22dc650dSSadaf Ebrahimi# causes the match data block to be freed, thus releasing that vector. 21*22dc650dSSadaf Ebrahimi 22*22dc650dSSadaf Ebrahimi/\[(a)]{1000}/expand,framesize 23*22dc650dSSadaf Ebrahimi \[a]{1000}\=ovector=1,heapframes_size 24*22dc650dSSadaf Ebrahimi 25*22dc650dSSadaf Ebrahimi/a/heapframes_size,framesize 26*22dc650dSSadaf Ebrahimi a\=ovector=0 27*22dc650dSSadaf Ebrahimi 28*22dc650dSSadaf Ebrahimi/a|(b){200}/g,expand,heapframes_size 29*22dc650dSSadaf Ebrahimi abacus z\[b]{200}z 30*22dc650dSSadaf Ebrahimi a\=ovector=0 31*22dc650dSSadaf Ebrahimi 32*22dc650dSSadaf Ebrahimi/(a)/replace=>$1< 33*22dc650dSSadaf Ebrahimi cat\=heapframes_size 34*22dc650dSSadaf Ebrahimi 35*22dc650dSSadaf Ebrahimi# End 36