I would like to apologize to anyone who has problems with the regex in the verb loading. It does get things done quickly, and if you know even a tiny bit it should be easy to understand, but it alsomeans that you need to know a bit more to edit it. However, it is actually clearer than actually scanning characters manually, and regex is not a python feature exclusively, so people without python experience might still understand it.
Just for clarification to people who don't understand it, here is a breakdown:
\[([\w:]+)\]
The \[ and \] become the literal characters [ and ].
The ()s specify a group so that just the text between the []s can be extracted.
Inside the ()s is [\w:]+. the []s there mean any one character represented within, and the + means one or more. So one or more of the characters in the inner []s.
The \w symbolizes every letter, number, and the underscore, and the : allows it to also accept colons.
Summary: It gets any string of letters, numbers, _, and : that is surrounded by square brackets. If it contains any illegal characters(including spaces), it is considered invalid, or if it doesn't have a proper [] pair on the line.
If you want to add a special character, for example @, just add it to the internal []s, after checking if it is a control character, and if so, preceding it by a \
However, the downside to that is that it might allow invalid action parameters, so either tolerate them giving in-game error messages(not python errors, though, since SyntaxError and AttributeError are caught to properly inform the player that someone messed up in verbs.txt), or alter them. Example: if you want to allow spaces, change the regex to \[([\w: ]+)\] but remember to add code to remove it or replace it in action parmeters(only the first one, as an alias could tolerate them)
Another example, would be using a preceeding $ to distinguish a verb as debug-only, as long as code would strip it before using it as an action(debug mode) or disregard it entirely(non-debug mode). Since $ is a control character, you would have to write it as \[([\w:\$]+)\]