精華區beta RegExp 關於我們 聯絡資訊
我目前用madedit,如果我想從文章中每一行的某字串開始,到同一行尾都要標示, 譬如說從Program開始到"那一行的結束"一次標示,會有下面兩種情況: 1.內容有中文字,所以不能用 Program[[:print:]]* 這種寫法,遇到中文會停下,中文有特殊字元。 2.Program[^$]* 我原本以為會把$當成每一行的結束,所以會找到行尾而停下,但結果 卻是找到文章結束。 我目前知道正規表示法如果有很多範圍的都符合要求,系統會選擇最長的,但 這表示我用的$不被當成行末嗎?請問我應該怎麼寫才對? -- 太初有道,道與耶和華同在,道就是耶和華。這道太初與耶和華同在。 萬物乃藉祂所造,凡被造的沒有一樣不是藉著祂所造的。生命在祂裡頭, 這生命就是人的光。光照在黑暗裡,黑暗卻不接受光。 吾輩乃生於黑暗,行於黑暗。因神之指引,行向光明;又因撒旦誘惑,回歸黑暗。 我不斷地徘徊於光明與黑暗之間,從被造之日至今,又自今直到那審判之日的來臨。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.176.38.160
mars90226:Program.*$ $放在[]裡面應該就只是個$ 08/03 22:56
LIAR:我試過了,但根據"最長符合"的原則,也是跑到最後一行。 08/04 00:13
LIAR:不過一樓說的沒錯,中括號內的確實都當成一般文字,好像 08/04 00:14
LIAR:自動跳脫的感覺,剛才用!@#$%^&*()試過的結論XD 08/04 00:15
smlboby:用UltraEdit試,Program*$可正常運作,*是任意字符,$是結尾 08/04 00:28
mars90226:我用Notepad++是OK,不知道你那個可不可以選擇貪婪與否 08/04 14:55
mars90226:Program.*?$ 這樣呢? "?"表示非貪婪 08/04 14:58
mars90226:等等 我記得.不會匹配\n 這樣應該只會在同一行阿... 08/04 15:01
LIAR:喔喔喔!感謝mars90226,加個問號確實成功了,但"貪婪"是什麼 08/04 17:12
LIAR:?我在學正規表示的時候沒看過這個耶? 08/04 17:13
LIAR:另外smlboby說的感覺好像DOS檔名的萬用字元,但在MadEdit的 08/04 17:14
LIAR:正規表示玩法中不被承認(囧rz)除非我把關鍵字擺行尾 08/04 17:16
LIAR:啊!請問那個".不會匹配\n"讓我想到grep以行為單位的運作情況 08/04 17:20
LIAR:,這樣確實不會有我的問題就是了,不曉得madedit怎麼設計的。 08/04 17:20
mars90226:貪婪就是會盡量匹配最多 08/04 17:27