2017-10-11 85 views
0

我只是無法正確計算出如何正則表達式。我需要的是匹配一個星號,後跟一個空格,後跟任何不是\ n的字符。 (類似reddit的列表格式)在PCRE中匹配星號後跟空格

例子:

* Test 
* Test2 
* Test3 

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

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

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

+1

刪除s修飾符(最終將其替換爲m修飾符)和'?'。看看貪婪/非貪婪的量詞 –

回答

0

你不應該在正則表達式的末尾使用懶點模式,因爲它永遠不會匹配任何單個字符(因爲它會在正則表達式引擎出現時跳過,並且因爲在它之後沒有任何匹配,空字符串將被匹配.*?)。

使用貪婪的圓點圖案:

^\* (.*) 

regex demo

其他說明:您可以使用\h,而不是匹配模式普通空間中的任何水平的空白。要匹配^的起始行,請使用m修飾符。如果您需要.來匹配任何字符,包括換行符(並且回車取決於活動的PCRE動詞),請僅使用s修飾符。