1. Error-checking - invalid regex, Out-of-bounds stuff. Do more testing.
2. More operators - numeric specifier, escaped characters
3. Fix adding concatenation operators in shunting-yard function (very janky, compares against operators individually)
Ideas for flags:
    -o, -v : Only matched text (separated by newline), Inverted match (just like grep)
        Also some other grep flags (will have to look into this)
    NOT IN GREP
    -s : Substitute (string is provided as argument)
    -p : Print CSV (or some format) of matches - start idx and end idx
    -m <num> : Print <num>th match (-m 1 = first match, -m 2 = second match)