我希望匹配以任意数量的星号开头的任何行,后跟空格和一些文本。例如:
** some text
这就是我正在使用的:
/(\A\**)\ (.*)/
除了行以空格开头的情况外,它工作正常。正如您在this example at rubular中看到的那样,空格是第一个匹配组,星号和文本是第二个。我修复它的所有尝试都最终匹配其他非星号字符。这样做的正确方法是什么?
编辑:我不清楚:如果行以空格开头,我希望匹配失败。
答案 0 :(得分:2)
如果您的目标行需要以*
开头,并且开头有可选空格,那么您应该使用+
(表示一个或多个)而不是*
(表示零或更多) )带有可选空格[ ]*
^[ ]*[*]+ (.*)