正则表达式C#不能与JavaScript保持一致

Min*_* Vu 4 javascript c#

我有一个关于正则表达式的问题,这是我的string str = 'tât",我正在使用正则表达式

  • javascript:

    str = str.replace(/[^\w\\-]+/g, ''); => result: tt

  • C#:

    str = (new Regex(@"[^\w\\-]+")).Replace(str, ""); => result: tât

我想使C#的结果像javascript,请帮助我。

非常感谢

GvS*_*GvS 5

Regex的默认.Net实现与Javascript实现略有不同。

差异在Microsoft网站上有描述。

在.Net中使用Javascript / ECMAscript规则:

   str = Regex.Replace(str, @"[^\w\\-]+", "", RegexOptions.ECMAScript);
Run Code Online (Sandbox Code Playgroud)