Regular Expression with \c and \i Failing for non-English locale

Workaround 1: Change the Regular Expression

If your values are all ASCII then replace \i with:
[_:A-Za-z]
and replace \c with [-._:A-Za-z0-9]

If your values are non-ASCII you would need to replace \i with...
[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF
\u200C-\u200D
\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]
and replace \c with:
[-.0-9:A-Z_a-z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF
\u200C-\u200D
\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF
\uFDF0-\uFFFD]

Workaround 2: Change the application language to English

e.g. In C#
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-us");