正则表达式:排除以空格开头的行

时间:2014-04-19 18:52:35

标签: regex

我希望匹配以任意数量的星号开头的任何行,后跟空格和一些文本。例如:

** some text  

这就是我正在使用的:

/(\A\**)\ (.*)/

除了行以空格开头的情况外,它工作正常。正如您在this example at rubular中看到的那样,空格是第一个匹配组,星号和文本是第二个。我修复它的所有尝试都最终匹配其他非星号字符。这样做的正确方法是什么?

编辑:我不清楚:如果行以空格开头,我希望匹配失败。

1 个答案:

答案 0 :(得分:2)

如果您的目标行需要以*开头,并且开头有可选空格,那么您应该使用+(表示一个或多个)而不是*(表示零或更多) )带有可选空格[ ]*

^[ ]*[*]+ (.*)