Warning: include(/home/blog66rr/public_html/wp-content/plugins/hyper-cache/cache.php): failed to open stream: No such file or directory in /home/blog66rr/public_html/wp-content/advanced-cache.php on line 24

Warning: include(/home/blog66rr/public_html/wp-content/plugins/hyper-cache/cache.php): failed to open stream: No such file or directory in /home/blog66rr/public_html/wp-content/advanced-cache.php on line 24

Warning: include(): Failed opening '/home/blog66rr/public_html/wp-content/plugins/hyper-cache/cache.php' for inclusion (include_path='.:/opt/cpanel/ea-php70/root/usr/share/pear') in /home/blog66rr/public_html/wp-content/advanced-cache.php on line 24
regular expressions – unethost無限空間虛擬主機 技術分享部落格

msn對話重新編排

常常遇到一種情境,需要把msn的對話記錄,截取下來做為資料。

典型的MSN對話長成這樣子:

21/8/2012 PM 3:22:52 http://unethost.com QQ 其實我是希望你‧‧‧
21/8/2012 PM 3:23:13 http://unethost.com QQ 我們公司的購物車系統,叫做WHMCS 
21/8/2012 PM 3:23:21 http://unethost.com QQ 我有找到免費的影片教學 
21/8/2012 PM 3:23:30 http://unethost.com QQ 但是,這個影片教學是4.0版的

這樣子的資料,如果直接貼上的話,因為前面的日期/時間/使用者名稱太多了,造成閱讀者的困難,所以比較細心的作法,應該要改成這樣子:

我:其實我是希望你直接以錄製的方式來做 
我:我們公司的購物車系統,叫做WHMCS 
我:國外有這個的影片教學 
我:但是,這個影片教學是4.0版的

這個修改,把日期/使用者取代掉,是很容易的,因為pattern是固定的。然而,如果要取代掉幾點幾分,這個時間的部分時,就困難多了,因為pattern是不固定的。時間會一直變動。

以這個例子裡,要取代掉時間的話,需要用到正規表示法(regular expressions),以geany為例子的話,就是先按下ctrl +H 。出現「取代的視窗」,在Search for這邊填上[0-9]:[0-9][0-9]:[0-9][0-9],並且勾選 Use regualr expressions,在Replace All這邊,按下 In Document。這樣子就可以一口氣消去所有的時間。