查找混合缩进空格

时间:2019-05-27 11:11:25

标签: regex

我正在尝试编写正则表达式以匹配混合缩进(即制表符和空格)。

这是我目前拥有的:

.*((\t )|( \t))\s*

结果:

({--->代表制表符,点代表空格)。

....--->....foo    matched
--->....--->foo    matched
--->....foo        matched
....--->foo        matched

问题是它与行中间的混合空格匹配。我想摆脱这种匹配,即我只想匹配缩进:

....foo....--->....bar    should not be matched

1 个答案:

答案 0 :(得分:3)

如评论中所述,您缺少的最重要的功能是字符串开始锚点(^),并且不应该使用.*,因为它也会匹配非空格,您要避免的。

您可以使用^\s*(\t | \t)\s*^(\t+ | +\t)\s*获得比赛。第二个会更有效。

根据您的环境,您可能需要添加m修饰符(或等效项),以使^与行的开头(而不是整个输入的开头)匹配。 / p>