ExplicitCapture makes all parentheses non-capturing unless you use named captures. This can make regexes a bit more readable because you can write (...) where you otherwise would have had to write (?:...) to make a non-capturing group.
The downside, of course, is that if you do want to capture part of the match, you have to write Name: (?<name>.*) instead of Name: (.*), for example.
ECMAScript causes the regex engine to behave like an ECMASCript (e. g., JavaScript) regex engine, which means dropping a lot of regex features of the .NET regex engine - but it allows you to use JavaScript regexes unchanged.
CultureInvariant tells the regex engine to ignore cultural differences in case matching. For example, in Turkish, the uppercase version of i is not I as it is in English, but İ, so a culture-sensitive, case-insensitive match of i would not match I on a Turkish system.
You might want to check out this link and this link for more info on this.