This regex can be changed:> on $*:text:/^!/Si:#: {To:
on $*:text:/^!w(eather)?|f(orecast)?/Si:#: {
which saves an additional use of the letter w and f. And the [] isn't necessary since you want to match for the exclamation mark only. Also, no $regml(1) is referenced so the outer () can be omitted.