使用正则表达式查找仅以特定空格数开头的行

时间:2013-12-16 08:47:51

标签: regex

我只是想问一下如何创建一个正则表达式来读取以空格开头的行,但是起始空格的数量不应该等于7。

示例(假设破折号是每一行的起点):

-       *THIS LINE HAS STARTING SEVEN SPACES.. SO THIS LINE WILL NOT BE DETECTED.
-   *THIS LINE HAS STARTING THREE SPACES.. THIS LINE WILL BE DETECTED.
-          *THIS LINE HAS STARTING TEN SPACES.. THIS LINE WILL BE DETECTED.

非常感谢。

1 个答案:

答案 0 :(得分:1)

以下Perl正则表达式符合您的要求:

^(\s{0,6}|\s{8,})(?=\S)/
  • ^ - 开始时的主播
  • \s - 匹配单个空格
  • \s{0,6}|\s{8,} - 匹配 0到6 8及更多空白
  • (?=) - lookahead assertion
  • (?=\S) - 预见是否存在非空格字符