Processing Regex on input "abbbc monkey" adding state (0, 0) step 0, next_char = 'a' visiting (0, 0) adding state (1, 1) step 1, next_char = 'b' visiting (1, 1) adding state (1, 2) adding state (1, 4) visiting (1, 2) adding state (2, 3) visiting (1, 4) state (1, 1) already present step 2, next_char = 'b' visiting (2, 3) adding state (2, 4) visiting (2, 4) adding state (2, 1) visiting (2, 1) adding state (2, 2) state (2, 4) already present visiting (2, 2) adding state (3, 3) step 3, next_char = 'b' visiting (3, 3) adding state (3, 4) visiting (3, 4) adding state (3, 1) visiting (3, 1) adding state (3, 2) state (3, 4) already present visiting (3, 2) adding state (4, 3) step 4, next_char = 'c' visiting (4, 3) adding state (4, 4) visiting (4, 4) adding state (4, 1) adding state (5, 5) visiting (4, 1) adding state (4, 2) state (4, 4) already present visiting (4, 2) step 5, next_char = ' ' visiting (5, 5) State Table Dump: State 0: [0] State 1: [1, 2, 4] State 2: [3, 4, 1, 2] State 3: [3, 4, 1, 2] State 4: [3, 4, 1, 2] State 5: [5] matched "abbbc"