(?:\s)*(([0-9]+)|.|\n|($)) (1) pattern 0 "12" (1) "+" (2) pattern 0 "34" (?:\s|//.*)*(([0-9]+(?:\.[0-9]*)?)|([a-zA-Z_][a-zA-Z_0-9]*)|("(?:[^"\ ]|\\.|\\ )*")|\Q""\E|\Qwhile\E|\Qelse\E|\Qif\E|\Q<>\E|\Q>=\E|.|\n|($)) (1) literal 3 "if" (1) pattern 1 "iffy" (1) literal 6 "\"\"" (2) "+" (2) pattern 0 "1.2" (2) [eof]