# Grammar: Token # token: never backtracks by default (can be overridden) token proper_name { <word>+ <space> <word>+ } # Which is short for: regex name :ratchet { ... }
# regex: use the colon to specify no backtracking
regex proper_name {
In normal regexes, use *:, +:, or ?: to prevent backtracking into
the quantifier. If you want to backtrack, append either a ? or a !
to the quantifier. The ? forces frugal matching as usual, while
the ! forces greedy matching.