Validates a project's regex. We can't do this exhaustively, so we:
- Make sure the new regex can match existing projects
- Check if the new regex matches a list of banned characters "naively", that is, construct
strings with the banned character at the beginning, middle and end and see if the regex matches,
rejecting it if so.
- Check if the new regex contains non-ascii characters
Validate the given string to see if it passes and if not, why not.
||all validation input is a String.
- A result that contains access to the details of the validation outcome.