无效正则表达式模式 (RE0001)
属性 | 值 |
---|---|
规则 ID | RE0001 |
标题 | 无效的正则表达式模式 |
类别 | Style |
Subcategory | 不可用 |
适用的语言 | C#, Visual Basic |
选项 | 请参阅 “选项” 部分。 |
概述
此规则标志放置包含正则表达式的文本字符串不符合所需语法的位置。 该规则适用于一个已标识的正则表达式,该正则表达式由包含 in行注释 或注释来确定,如//lang=regex
或//lang=regex,strict
。 后一个注释使用严格模式进行正则表达式解释。
此规则仅适用于 IDE,不适用于命令行方案。
选项
选项指定你希望规则强制实施的行为。
对于识别为正则表达式的代码,可以通过选择“工具>选项>文本编辑器>C# | Visual Basic>高级”在 Visual Studio 中设置选项。 以下选项在“正则表达式”部分下提供:
properties | 说明 |
---|---|
着色正则表达式 | 指定是否着色正则表达式。 |
报告无效正则表达式 | 指定是否报告无效的正则表达式。 |
突出显示光标下的相关组件 | 指定快速操作 是否使用突出显示。 |
显示完成列表 | 指定是否显示 IntelliSense 代码完成。 |
示例
以下代码片段显示了具有无效正则表达式的示例。
// Code with violations
// lang=regex
string pattern = @"\b[M]\w+\";
// Fixed code
// lang=regex
string pattern = @"\b[M]\w+";
抑制警告
如果只想抑制单个冲突,请将预处理器指令添加到源文件以禁用该规则,然后重新启用该规则。
#pragma warning disable RE0001
// The code that's violating the rule is on this line.
#pragma warning restore RE0001
若要对文件、文件夹或项目禁用该规则,请在配置文件中将其严重性设置为 none
。
[*.{cs,vb}]
dotnet_diagnostic.RE0001.severity = none
有关详细信息,请参阅如何禁止显示代码分析警告。