Help with pcre module

Why does the regex '(ab)*' cause a panic? Here is a session from the REPL.

>>> import pcre
>>> r := pcre.new_regex('ab|cd|mn|st', 0)!
>>> m := r.match_str('abcdefgxyz', 0, 0) or { return  }
>>> m.group_size
1
>>> m.get(0)!
ab
>>> r2 := pcre.new_regex(r'(ab)*', 0)!
V panic: result not set (no additional information)
v hash: 7eec8b1
/tmp/v_1000/.noprefix.01JJNS1R718H39PHD40NQ8JZFM.vrepl_temp.01JJNSC10TX5MA0XNV20
FAMXAQ.tmp.c:5200: at _v_panic: Backtrace
/tmp/v_1000/.noprefix.01JJNS1R718H39PHD40NQ8JZFM.vrepl_temp.01JJNSC10TX5MA0XNV20
FAMXAQ.tmp.c:5166: by panic_result_not_set
/tmp/v_1000/.noprefix.01JJNS1R718H39PHD40NQ8JZFM.vrepl_temp.01JJNSC10TX5MA0XNV20
FAMXAQ.tmp.c:8325: by main__main
/tmp/v_1000/.noprefix.01JJNS1R718H39PHD40NQ8JZFM.vrepl_temp.01JJNSC10TX5MA0XNV20
FAMXAQ.tmp.c:8362: by main
>>> r.free()

What am I doing wrong?

The documentation and the examples for pcre are quite sparse. Can anyone links to code that uses pcre for more than the most basic matching?