在我的博客文章中,我的编程设置,我强调了正则表达式的重要性是如何对我的编程活动。
它通常被认为是一个伪装PA,包括在代码中包含“尾随空格”。也就是说,您的线路应以行返回控制字符结尾,而不是其他。在正则表达式中,字符串(或行)的末尾标记为“$”符号,并且可以用“\ s”表示空白空间,并且一个或多个空白空间的序列是'\ s + '。因此,如果我搜索'\ s + $',我将找到所有违规行。
通常最好避免源代码中的非ASCII字符。实际上,在某些情况下,没有标准的方法告诉编译器关于您的角色编码,因此非ASCII可能会触发问题。要检查所有非ASCII字符,您可以执行[^ \ x00- \ x7f]。
有时您在变量或运算符之间插入太多空格。一行开始时,多个空间很好,因为它们可以用于缩进,但其他重复空间通常误差。您可以使用表达式\ b \ s {2,}检查它们。 \ b表示单词边界。
我使用空格来缩进我的代码,但我始终使用偶数空格(2,4,8等)。然而,我可能会弄错并在某些地方插入奇数空间。要检测这些情况,我使用表达式^(\ s)* \ s [^ \ s]。要删除额外的空间,我可以选择它,并使用诸如<(?< = ^(\ s)*)\ s(?= [^ \ s])。
在打开括号之后,我不想要一个空间,也不需要关闭括号之前。我可以检查这种情况(\(\ s | \ s \))。如果我想删除空格,我可以用诸如(?< = \()\ s的外观表达式来检测它们。
假设我想识别一个变量的所有实例,我可以搜索\ bmyname \ b。通过使用Word边界,我确保我不会在其他函数或变量名中捕获字符串的实例。同样,如果我想选择以某种表达式结尾的所有变量,我可以用\ b \ w * myname \ b这样的表达式来执行它。