找到任何不以点结尾的摘要

时间:2012-06-12 08:10:07

标签: regex visual-studio summary

我在寻找项目的一致性。但是,当我打字时,我并不总是记得它。当我评论了我的一半项目并且我不知道是否用a结束所有行时,这会引发一个问题。

所以,我想找到所有不以点结尾的摘要来解决这个问题。一个例子是:

    /// <summary>
    /// This is my summary
    /// </summary>

这意味着有一些起始空格,总是三个/,它们都包含在<summary>标记内。

我开始研究并得到了这个:

^///$[^\.]

基于

^ start of line
/// the three slashes
$ end of line
[^\.] that doesn't end with a dot.

但我无法让它发挥作用。 如何找到所有不以。?

结尾的汇总行

2 个答案:

答案 0 :(得分:4)

您不需要锚定到字​​符串的开头,因为它是标记注释行开头的'///'

///.*[^\.]$

我们如何构建它。

我们知道我们要查找的评论以'///'开头,而不是'。'结尾,这两个字符串可以匹配为'///'和'[^。]'之间我们可以有什么,所以'。*'

开头不需要'^',因为注释不必从字符串/行的开头开始。

您可能还想考虑尾随空格,所以

///.*[^\.]\s*$

我可能错过了其他一些观点,所以只是喊出来

$的含义

正则表达式中的'$'符号是字符串结尾的锚点。它有点匹配新行,除了(可能取决于实现)它只能匹配输入的结尾。它的作用与匹配输入开头

的'^'相同

答案 1 :(得分:2)

您可能需要考虑行的实际开头(col 0)和///之间的空格。也许这会有效^\s*///.*[^.]$

  • ^ - 行的开头(第0列,不是第一个可见字符)
  • \s* - 可选空白
  • /// - 评论开始
  • .* - 任何文字
  • [^.] - 除了.
  • 之外的任何内容
  • $ - 行尾(在最后一个字符之后)

修改
Visual Studio search-regex显然不同于常规正则表达式:http://msdn.microsoft.com/en-us/library/2k3te2cs.aspx

您似乎需要:Zs而不是\s才能匹配空格(或完全跳过它并按照建议使用///.*[^.]$。)