“…One approach to improve flexibility is the use of subsequence constraints, which specify conditions under which a subsequence is potentially interesting to the particular application. Ordered by increasing flexibility, common types of subsequence constraints include length constraints [28], [34], gap and duration constraints [14], [28], [34], hierarchy constraints [28], "output filter" regular expression constraints [2], [3], [13], [31], and regular expression constraints with capture groups and hierarchies [5], [7]. The latter type subsumes the remaining ones, and we subsequently refer to it as flexible constraints.…”