这个正则表达式的名字是什么?

时间:2012-04-11 12:10:20

标签: c# regex naming-conventions constants

我正在将this regular expression C#字符串重构为常量,我不确定如何最好地命名它(我的正则表达式很弱)。

@"^(?!\s\s)"

问号不是表示可选的东西吗?什么问题是可选的?

我发现,作为一名开发人员,您必须先清楚地了解某些内容,然后才能正确命名(另请:Naming is Hard),所以我想清楚地理解这一点,然后给它一个正确的名称。

这个正则表达式的名称是什么?

我正在考虑LinesThatDoNotStartWithTwoSpacesDoesNotStartWithTwoSpaces

3 个答案:

答案 0 :(得分:5)

构造本身是一个负面的先行。它指定了一个在主表达式后无法匹配的组。

在这种情况下,是的,当匹配的行不以两个空格(空格)开头时匹配。

我将正则表达式命名为NotMatchLineStartingWithTwoWhiteSpaces

答案 1 :(得分:1)

我总是尝试在变量名中使用Not。例如NotHuman,其含义将随Human的定义而变化。 此外,变量名称应该告诉我们这是什么,但不是什么 - 这是可以做的,所以我认为在变量名中使用动词不是一个好主意,例如SearchMatch

对于您的情况,LineWithoutIndentation如何,类似于CSS3中的text-indent属性。

答案 2 :(得分:0)

它被称为Negative lookahead