To quote from Jeffrey Friedl
ECMAScript is a standardized version of JavaScript with its own semantics of how regular expressions should be parsed and applied. A .NET regex attempts to mimic those semantics if created with the RegexOptions.ECMAScript option. If you don't know what ECMAScript is, or don't need compatibility with it, you can safely ignore this section.
ECMA stands for "European Computer Manufacturers Association," a group formed in 1960 to standardize aspects of the growing field of computers.
When RegexOptions.ECMAScript is in effect, the following apply:
Only the following may be combined with RegexOptions.ECMAScript:
RegexOptions.IgnoreCase
RegexOptions.Multiline
RegexOptions.Compiled
\w, \d, and \s (and \W, \D, and \S) change to ASCII-only matching.
When a backslash-digit sequence is found in a regex, the ambiguity between backreference and octal escape changes to favor a backreference, even if that means having to ignore some of the trailing digits. For example, with (?)\10, the \10 is taken as a backreference to the first group, followed by a literal '0'.
John Grove - TFD Group, Senior Software Engineer, EI Division, http://www.tfdg.com