匹配星号后跟PCRE中的空格

时间:2017-10-11 02:29:38

标签: regex escaping expression pcre

我很难弄清楚如何正确使用正则表达式。我需要的是匹配一个星号后跟一个空格,后跟任何数量的字符都不是\ n。 (类似于reddit列表格式化)

示例:

* Test
* Test2
* Test3

我最接近的是这个,但它没有工作。

/^[*][ ](.*?)/s

任何熟悉PCRE的人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

你不应该在正则表达式的末尾使用一个懒的点模式,因为它永远不会匹配任何一个char(因为它会在正则表达式引擎到达它时被跳过,并且因为它之后没有任何内容可以匹配,空字符串将由.*?)匹配。

使用贪婪点模式:

^\* (.*)

请参阅regex demo

其他说明:您可以使用\h来匹配任何水平空格而不是模式中的常规空格。要将行的开头与^匹配,请使用m修饰符。如果您需要s来匹配任何字符,包括换行符(并根据有效的PCRE谓词回车),请仅使用.修饰符。