2017-03-17 52 views
1

只有第二行我有這樣的正則表達式:!^>{1} (.*)$!m但我只想要二線這裏匹配:獲得與正則表達式

>> text1 
> text2 
> text3 

,但3號線也在此匹配因爲m。當我刪除標誌m它只看字符串的開始,而不是行的開始。 $似乎什麼都不做。

看到:https://regex101.com/r/AKYO1f/1

+3

只要刪除'g'標誌https://regex101.com/r/AKYO1f/2 – Shafizadeh

回答

1

填充陣列

從一個答案得到這個內部匹配(ES)作爲@Shafizadeh說,剛刪除g標誌。這將使它在第一場比賽後返回而不是找到所有匹配。

的只是一個解釋爲什麼:當你擁有的多標誌^&比賽開始,一行的結束,而是當你刪除多標誌^&比賽開始和字符串作爲一個整體的結束。

0

希望這會工作。

正則表達式:>{1,2}[\w\s]+\n\K\>[\s\w\d]+

Regex Demo

0

我想你可以使用的preg_match()

的preg_match()返回的時間模式相匹配的數量。這將是0次(不匹配)或1次,因爲preg_match()將在第一次匹配後停止搜索。相反,preg_match_all()會一直持續到主題結束。如果發生錯誤,preg_match()返回FALSE。

的第三個參數的preg_match(),如果給定的,將在RegEx in PHP: find the first matching string