You can add comments to regexes, explaining each part. I believe it is called verbose mode.
> And as you mentioned (especially in the case of email validation), they're usually incorrect.
My point was that the email address might still be invalid despite being syntactically correct, eg if you miss a letter. This is why I don’t understand the obsession with syntax-level email validation. You still need a confirmation mail.
But of course there can be a bug in a regex - just as there can be a bug in imperative string-matching code implementing the same pattern.
> A single "/x" tells the regular expression parser to ignore most whitespace that is neither backslashed nor within a bracketed character class, nor within the characters of a multi-character metapattern like "(?i: ... )". You can use this to break up your regular expression into more readable parts. Also, the "#" character is treated as a metacharacter introducing a comment that runs up to the pattern's closing delimiter, or to the end of the current line if the pattern extends onto the next line.
> And as you mentioned (especially in the case of email validation), they're usually incorrect.
My point was that the email address might still be invalid despite being syntactically correct, eg if you miss a letter. This is why I don’t understand the obsession with syntax-level email validation. You still need a confirmation mail.
But of course there can be a bug in a regex - just as there can be a bug in imperative string-matching code implementing the same pattern.