gpt4 book ai didi

c# - 使用特殊字符时出现解析错误

转载 作者:太空宇宙 更新时间:2023-11-03 21:44:13 25 4
gpt4 key购买 nike

我想在结果集中突出显示我的搜索字符串。当我的搜索字符串是 (Java,PHP) 时,我的代码工作正常。然而,当我的搜索字符串是 (Java,C++) 时,当代码执行这一行时我遇到了解析错误 —

RegExp = new Regex(Search_String.Replace(" ", "|").Trim(), RegexOptions.IgnoreCase);

我知道 Regex 将 + 视为特殊字符,因此当我的搜索字符串是 (C++) 时 – 我使用了一个单独的正则表达式,如下所述 –

if (Search_String.Contains("++"))
{
RegExp = new Regex(@"C\+{2}");
}

我现在面临着将这两个正则表达式结合起来的问题,这样我的代码就可以在搜索字符串为 (Java,C++) 时正常工作。谁能建议解决此解析错误的方法?

代码片段–

if (Search_String.Contains(","))
{
Search_String = Search_String.Replace(",", " ");
}
// Regular expression SetUp and add the Or operator.
RegExp = new Regex(Search_String.Replace(" ", "|").Trim(), RegexOptions.IgnoreCase);

// Highlight keywords by calling the delegate each time the keyword is found.
return RegExp.Replace(textInfo.ToTitleCase(InputTxt), new MatchEvaluator(ReplaceKeyWords));


public string ReplaceKeyWords(Match m)
{
return "<span class=highlight>" + m.Value + "</span>";
}

最佳答案

您正在寻找 Regex.Escape(),它将转义输入字符串,以便正则表达式引擎将其视为文字文本。

关于c# - 使用特殊字符时出现解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17863918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com