關於regular expression的指令問題

關於regular expression的指令問題... 假設我的文字內容如下(共五行): Hint: newly added line~~~ Hint: how are you 你好嗎 how are you你好嗎 how are you你好嗎 Hint: Hi, there. 你好 how are you 好嗎 我想只針對"Hint:" 開頭的每一行進行搜尋,假設搜尋文字是"你好",那麼我希望只列出上述第二行跟第四行(有Hint開頭的部份)! 試過"^Hint:.*你好" ,但會列出前五行: Hint: newly added line~~~ Hint:... show more 關於regular expression的指令問題...
假設我的文字內容如下(共五行):

Hint: newly added line~~~
Hint: how are you 你好嗎
how are you你好嗎
how are you你好嗎
Hint: Hi, there. 你好
how are you 好嗎

我想只針對"Hint:" 開頭的每一行進行搜尋,假設搜尋文字是"你好",那麼我希望只列出上述第二行跟第四行...

試過"^Hint:.*你好" ,但會列出前五行:
Hint: newly added line~~~
Hint: how are you 你好嗎
how are you你好嗎
how are you你好嗎
Hint: Hi, there. 你好
=> 這似乎是以最後一個"你好"當結尾,而以Hint當開頭的結果!但我要的是第一次遇到...

若改用"^Hint:.*?你好",這時我會找到
(1)
Hint: newly added line~~~
Hint: how are you 你好

(2)
Hint: Hi, there. 你好

情況好一點,但顯然(1)中的"Hint: newly added line~~~ "不是我要的,我該怎麼再修改呢?

麻煩高手給予指導,謝謝!

Update: 先謝謝您的用心! 其實這是我在一個支援regular expression的記事軟體(My Notes Keeper)上測試的結果,我並沒有寫程式,不過既然你起了頭,我follow你的... Code在底下~

我想這應該是regular expression的語法問題,如果可以的話,或許您可以提供我不同的regula... expression式子來達成我的需求! 因為我對regular expression實在不熟~ 當然程式上的問題,我也樂意討論~
Update 2: Code在此: http://blog.yam.com/chinyanglin/article/...
(Sorry~ 這裡太難貼code了~)
Update 3: 您建議的方法在我的軟體上依舊行不通,但我可以確定的是,我使用的軟體對於RE的支援...
1 answer 1