Regex 查找任何不以点结尾的摘要

Regex 查找任何不以点结尾的摘要,regex,visual-studio,summary,Regex,Visual Studio,Summary,我正在寻找我的项目的一致性。但我并不总是记得我打字的时候。这就引出了一个问题,当我评论了一半的项目时,我不知道我是否用一句话结束了所有的行 所以,我想找出所有没有以点结尾的总结来弥补这一点。这方面的一个例子是: /// <summary> /// This is my summary /// </summary> 基于 ^ start of line /// the three slashes $ end of line [^\.] that d

我正在寻找我的项目的一致性。但我并不总是记得我打字的时候。这就引出了一个问题,当我评论了一半的项目时,我不知道我是否用一句话结束了所有的行

所以,我想找出所有没有以点结尾的总结来弥补这一点。这方面的一个例子是:

    /// <summary>
    /// This is my summary
    /// </summary>
基于

^ start of line
/// the three slashes
$ end of line
[^\.] that doesn't end with a dot.
但我没能让它发挥作用。
如何找到所有不以...结尾的摘要行?

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

///.*[^\.]$
我们如何建立这个

我们知道,我们要查找的注释以“//”开头,以“not.”结尾。这两个字符串可以匹配为“//”和“[^.]”,在这两个字符串之间,我们可以有任何内容,因此“*”

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

您可能还需要考虑尾随空格,因此

///.*[^\.]\s*$
我可能错过了其他几点,所以大声说出来吧

什么是
$
意思


正则表达式中的“$”符号是字符串结尾的锚点。它在某种程度上匹配新行,除了(可能取决于实现)它可以简单地匹配输入的结尾。它的工作原理与匹配输入开头的“^”相同。您可能需要考虑行的实际开头(第0列)和
//
之间的空白。也许这会起作用。
^\s*//.[^.]$

  • ^
    -行的开头(即第0列,不是第一个可见字符)
  • \s*
    -可选空白
  • //
    -开始评论
  • *
    -任何文本
  • [^.]
    -除了
    以外的任何东西
  • $
    -行尾(在最后一个字符之后)
编辑
Visual Studio搜索正则表达式显然不同于常规正则表达式:


似乎您需要一个
:Zs
而不是
\s
来匹配空白(或者完全跳过它,按照建议只使用
//.[^.]$

在字符类(
[]
)内时不需要转义。例如,
[a.]
只匹配
a
字符,不匹配任何字符。@Amber谢谢,我不知道我添加了visual studio。每当你做regexen时,指定味道是必不可少的(有几种方言有细微的差别)@sehe谢谢,我不知道我们来了!这个修好了。请您解释一下这个过程好吗?好的,最后一个问题是$input需要什么(尽管我很确定我理解它)。它的工作原理是否与“将最后一个字符作为输入”一样?这很奇怪。是否匹配以“空白+//”开头的所有行?此(^\s*//)仅匹配以部分(或无)空白开头的所有行,然后匹配三个斜杠。Visual Studio声明找不到此文本。可能是不理解/s的VS吗?@Default-我将部分正则表达式更改为完整正则表达式并添加了解释。不需要将其与字符串的开头关联,因此不需要在匹配的开头使用“^\s*”
///.*[^\.]\s*$