在c#中构建(转义)JavaScript正则表达式

Build(escape) a JavaScript regexp in C#

本文关键字:JavaScript 正则表达式 转义 构建      更新时间:2023-09-26

场景:用户输入关键字(例如:hello)在我的asp.net mvc应用程序中,然后单击search,在C#代码中,我构建了一个JavaScript RegExp字符串(/hello/i),它将被传递到MongoDB的查询中,整个查询看起来像:

db.Posts.find( { "title" : /hello/i } )

获取标题中包含hello的所有帖子。

当关键字包含特殊字符(如'()时,js regexp构建错误。

是否有任何C#库来解析它?

您要找的是Regex.Escape

虽然Javascript和。net使用不同的正则表达式引擎,但我相信。net的escaper对于JS的正则表达式来说已经足够好了。