or download this
non-a-slash: # string that doesn't contain a non escaped slash
SUBSTITION: non-eval-substition | eval-substitution
...
's' '/' not-a-slash '/' slashless-code '/' e-modifiers(
+*)
non-e-modifiers: 'x' | 's' | 'm' | 'g' | 'x' | 'i'
e-modifiers: 'e' | non-e-modifiers