2017-10-11 86 views
0

我只是无法正确计算出如何正则表达式。我需要的是匹配一个星号,后跟一个空格,后跟任何不是\ n的字符。 (类似reddit的列表格式)在PCRE中匹配星号后跟空格

例子:

* Test 
* Test2 
* Test3 

我得到的最接近是这样的,但它不能正常工作。

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

任何人都熟悉PCRE能帮助我。

+1

删除s修饰符(最终将其替换为m修饰符)和'?'。看看贪婪/非贪婪的量词 –

回答

0

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

使用贪婪的圆点图案:

^\* (.*) 

regex demo

其他说明:您可以使用\h,而不是匹配模式普通空间中的任何水平的空白。要匹配^的起始行,请使用m修饰符。如果您需要.来匹配任何字符,包括换行符(并且回车取决于活动的PCRE动词),请仅使用s修饰符。