C# 我可以打开/关闭正则表达式处理吗?

C# 我可以打开/关闭正则表达式处理吗?,c#,.net,regex,C#,.net,Regex,我正在实现一个搜索功能(在树视图中),用户可以选择打开/关闭正则表达式,以及打开/关闭匹配大小写和整个文本 NET正则表达式有什么方法可以告诉它不要处理正则表达式字符吗?如果是这样的话,那么我可以一直使用正则表达式寻找匹配项,即使在禁用正则表达式的情况下也是如此 我想到一件事。对于这种情况,请转义搜索字符串中的所有特殊字符。这是个坏主意,还是行得通 谢谢-dave根据您的问题猜测,您的UI如下所示: [Lorem ipsum... Search: _______________

我正在实现一个搜索功能(在树视图中),用户可以选择打开/关闭正则表达式,以及打开/关闭匹配大小写和整个文本

NET正则表达式有什么方法可以告诉它不要处理正则表达式字符吗?如果是这样的话,那么我可以一直使用正则表达式寻找匹配项,即使在禁用正则表达式的情况下也是如此

我想到一件事。对于这种情况,请转义搜索字符串中的所有特殊字符。这是个坏主意,还是行得通


谢谢-dave根据您的问题猜测,您的UI如下所示:

[Lorem ipsum...   Search: _______________    
    ipsum...      [ ] case-insensitive       
    lorem ...  ]  [ ] regular expression    
因此,您有四种情况:大小写/敏感&模式/短语。 要搜索简单短语,请在搜索字符串上使用:

+---------+-----------------------------------------------------+------------------------------------------------------------------------------+ | | case-sensitive | case-insensitive | +---------+-----------------------------------------------------+------------------------------------------------------------------------------+ | pattern | Regex.Matches(input, "searchPattern") | Regex.Matches(input, "searchPattern", RegexOptions.IgnoreCase) | | phrase | Regex.Matches(input, Regex.Escape("searchPattern")) | Regex.Matches(input, Regex.Escape("searchPattern"), RegexOptions.IgnoreCase) | +---------+-----------------------------------------------------+------------------------------------------------------------------------------+
其余部分应该是直截了当的。

根据您的问题猜测,您的UI如下所示:

[Lorem ipsum...   Search: _______________    
    ipsum...      [ ] case-insensitive       
    lorem ...  ]  [ ] regular expression    
因此,您有四种情况:大小写/敏感&模式/短语。 要搜索简单短语,请在搜索字符串上使用:

+---------+-----------------------------------------------------+------------------------------------------------------------------------------+ | | case-sensitive | case-insensitive | +---------+-----------------------------------------------------+------------------------------------------------------------------------------+ | pattern | Regex.Matches(input, "searchPattern") | Regex.Matches(input, "searchPattern", RegexOptions.IgnoreCase) | | phrase | Regex.Matches(input, Regex.Escape("searchPattern")) | Regex.Matches(input, Regex.Escape("searchPattern"), RegexOptions.IgnoreCase) | +---------+-----------------------------------------------------+------------------------------------------------------------------------------+
剩下的应该是直截了当的。

您可以使用Regex。Escape@DaveM-谢谢。如果你把它作为一个答案,我很乐意选择它并投票。你可以使用正则表达式。Escape@DaveM-谢谢。如果你把它作为一个答案,我很乐意选择它并投票。很抱歉使用ASCII表格。我当时的心情很有创意顺便说一句,我喜欢ASCII表格:)抱歉使用ASCII表格。我当时的心情很有创意顺便说一句,我喜欢ASCII表格:)