我正试图利用 PEP 350-编码标签 在我的Python代码中更多。
我的集成开发环境是PyCharm,目前我正在扩展PyCharm中的 TODO
comment regex。 它可以在 TODO
菜单(Preferences > Editor > TODO
). 默认的PyCharm regex使用的是word boundary(边界)。\b
.
目前我已经将其扩展为。\b(todoc*|fixme|caveat|see)\b.*
我一直在玩regex 101,但我一直找不到一种方法来捕获以下代码标签。
???
(问题)!!!
(警报)**编辑:有人在评论中问我是否要在单词的结尾处配上特殊字符(如:)。foo!!!
). 我不会这样做,通常评论会是这样的 !!! some information
.
**编辑2:代码标签后面可加冒号(例如:......)。TODO:
, CAVEAT:
),所以regex在这方面应该是灵活的。
我所做的尝试
\b(todoc*|fixme|caveat|see|\?\?\?)\b.*
版本
试试吧 (\b(todoc*|fixme|caveat|see)\b|\?\?\?|!!!).*
不使用词的界限 \b
您可以使用空格界限,并在其中添加 |!!!
到交替。
(?<!\S)((?:todo[ :]|(?:fixme|caveat|todoc|see|[?]{3}|!!!)(?!\S))).*
在部分地区,这将与
(?<!\S)
左边的空白边界(
采集组1(?:
非捕获组todo[ :]
匹配todo后的空格或 :
|
或 (?:fixme|caveat|todoc|see|[?]{3}|!!!)(?!\S)
匹配任何一个交替,并在右边有一个空白的边界。)
关闭非捕获组)
关闭捕获组.*
匹配除换行以外的任何字符0+次。