我很难弄清楚如何正确使用正则表达式。我需要的是匹配一个星号后跟一个空格,后跟任何数量的字符都不是\ n。 (类似于reddit列表格式化)
示例:
* Test
* Test2
* Test3
我最接近的是这个,但它没有工作。
/^[*][ ](.*?)/s
任何熟悉PCRE的人都可以帮助我。
答案 0 :(得分:0)
你不应该在正则表达式的末尾使用一个懒的点模式,因为它永远不会匹配任何一个char(因为它会在正则表达式引擎到达它时被跳过,并且因为它之后没有任何内容可以匹配,空字符串将由.*?
)匹配。
使用贪婪点模式:
^\* (.*)
请参阅regex demo
其他说明:您可以使用\h
来匹配任何水平空格而不是模式中的常规空格。要将行的开头与^
匹配,请使用m
修饰符。如果您需要s
来匹配任何字符,包括换行符(并根据有效的PCRE谓词回车),请仅使用.
修饰符。