I am using a union of literal string alternatives for each of the 16 target items. Since we need to match exactly these text pieces and nothing else, I am escaping all regex metacharacters that could interfere (for instance, the dots in email domains and the plus signs and parentheses in phone numbers). I use a non-capturing group (?: ... ) containing each literal alternative, with each item separated by a pipe. This way, when the regex engine finds one of these exact strings, it will match, and it won’t match any other text outside these alternatives.