'''Tcl Regular Expression Match Requirements''' describes a set of [regular expressions], and what, ideally, they would match. ** Description ** Tcl's regular expression engine has a particular design that leads to some unexpected results. The collection below of regular expression applications on this page and their ideal results is intended as a guide for the further development of regular expression routines in Tcl. ** `(t*?)?` ** Ideal: ====== % regexp -inline -indices {(t*?)?} ttt {0 -1} {0 -1} ====== Actual: ====== % regexp -inline -indices {(t*?)?} ttt {0 2} {0 2} ====== ** `.*(a*){1,3}?` ** Ideal and actual: ====== regexp -indices -inline {.*(a*){1,3}?} aaaa {0 3} {4 3} ====== ** `(a.*?f)*` ** If there is a quantifier on a capturing expression, it should return a list of matches: ====== % regexp -indices -inline {(a.*?f)*} aaafaaafjkl {0 7} {{0 3} {4 7}} ====== Actual: ====== % regexp -indices -inline {(a.*?f)*} aaafaaafjkl {0 7} {4 7} ====== <> regular expressions