2012-12-31 70 views
0

所以基本上考慮這個例子:正則表達式廣東話搜索所有

google123   

    apples 

    doodle1234 

我用一下變通

(?<=google123)([^\n]*\n[\s*\w+])+(?=doodle1234) 

不幸的是,我只是用

google123   

    apples 

doodle1234 

注意工作:空間「doodle1234」在第一個例子中沒有被識別,它只識別「doodle1234」。

搜索輸出必須是蘋果

回答

0

你的語法錯誤在這裏:

[\s*\w+] 

(你包括字符類星號。)相反:

\s*\w+ 
+0

謝謝你的詳細解答。祝你新年快樂! – atari400

0

變化[\s*\w+][\s*\w+]+[\s*\w+]*

解釋:

* 匹配前面的元素零或更多倍。

+ 匹配前面的元件的一個或更多倍。

和你regex可以是這樣的:

(?<=google123)([^\n]*\n[\s*\w+]*)+(?=doodle1234) 

,或者您可以使用*?+?

*? 匹配前面的元素零次或多次,但是只是位置的幾倍sible

+? 匹配前面的元素一次或多次,但作爲幾次儘可能

+0

謝謝你的詳細解答。祝你新年快樂! – atari400

+0

它正在工作,但這是選擇doodle1234後的所有內容,直到另一個doodle1234結束 – atari400

+0

新年快樂;我更新了我的答案。嘗試使用'*?'或'+?' – Ria