【问题标题】:Regex: exclude lines beginning with whitespace正则表达式:排除以空格开头的行
【发布时间】:2014-06-04 03:24:27
【问题描述】:

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

** some text  

这是我正在使用的:

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

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

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

【问题讨论】:

    标签: regex


    【解决方案1】:

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

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

    【讨论】:

    • 啊,是的:+ 而不是 *。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多