学生经常问为什么需要正则表达式。乍一看,它们的用处可能并不明显。一般来说,它们的目的是处理文本:搜索和替换。
例如,我曾经需要比较两次测试运行的日志。它们可能是相同的,但每一行都以不同的时间戳开始。
使用正则表达式来匹配时间戳,我将这些子字符串替换为 Sublime 中的空字符串(任何文本编辑器都可能提供此功能)。之后,我在 Meld 中比较了这两个文件,Meld 是一个用于比较我经常使用的文件和目录的方便工具。
PyCharm 还支持使用正则表达式搜索和替换文本。
但是,我将讨论另一个使用正则表达式的 PyCharm 功能:突出显示代码中的特定注释。最常见的例子是 TODO 注释。
但是 PyCharm 如何知道以特定颜色突出显示此文本?这些设置可以自定义,这就是我们将要探索的内容。
导航至菜单:
文件 -> 设置... -> 编辑器 -> TODO
在这里,您将找到两个用于突出显示注释的预定义规则:TODO 和 FIXME。尝试一下 — FIXME 使用与 TODO 相同的突出显示规则。
规则本身由正则表达式定义:btodob.*.
此模式匹配:
- 单词todo作为一个完整的单词(使用b表示单词边界)
- 后跟任意数量的任意字符 (.*)。
单词边界 (b) 是 w 字符(字母、数字或下划线)和非 w 字符之间的边缘。
在此菜单中,您可以添加自己的规则。例如,让我们添加一条“未实施”的规则。
在这里,您可以配置:
- 模式:匹配要突出显示的文本的正则表达式。
- 图标:显示在 TODO 工具窗口中的图标。
- 区分大小写:匹配是否区分大小写。
- 默认样式:如果不勾选,您可以自定义突出显示样式,否则将应用默认的 TODO 样式。
- 自定义样式选项:
- 字体样式(粗体、斜体)
- 文字颜色
- 背景颜色
- 错误条纹颜色
- 装饰风格及其颜色(下划线、粗体下划线、下波浪线、边框、删除线、虚线)。
这是我们得到的:
这是它在 TODO 工具窗口中的显示方式:可以看到我们选择的自定义图标,并且边框颜色更加突出。在此屏幕截图中,我还单击了过滤器按钮以显示尚未应用任何过滤器。
让我们返回 TODO 设置并为“未实施”规则添加过滤器。
现在,在 TODO 工具窗口中,列表中会出现一个新的“未实现”过滤器。当您选择此过滤器时,TODO 工具窗口中将仅显示“未实施”注释。
TODO 注释设置中还有一个选项我们没有提到:“将以下几行的缩进文本视为同一 TODO 的一部分”。
此复选框适用于所有规则。如果 TODO 注释后面的行包含缩进注释,则将应用相同的规则。
如您所见,无需创建过于复杂的正则表达式 - 简单的就足够了。然而,即使在这种情况下,它们也可以让您的工作变得更轻松。
你经常使用正则表达式吗?
以上就是PyCharm 中用于突出显示注释的正则表达式的详细内容,更多请关注php中文网其它相关文章!