我在寻找项目的一致性。但是,当我打字时,我并不总是记得它。当我评论了我的一半项目并且我不知道是否用a结束所有行时,这会引发一个问题。
所以,我想找到所有不以点结尾的摘要来解决这个问题。一个例子是:
/// <summary>
/// This is my summary
/// </summary>
这意味着有一些起始空格,总是三个/
,它们都包含在<summary>
标记内。
我开始研究并得到了这个:
^///$[^\.]
基于
^ start of line
/// the three slashes
$ end of line
[^\.] that doesn't end with a dot.
但我无法让它发挥作用。 如何找到所有不以。?
结尾的汇总行答案 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
才能匹配空格(或完全跳过它并按照建议使用///.*[^.]$
。)