Sample:把20090601,20090610,20090611這串日期序列轉成2009-06-01,2009-06-10,2009-06-11,Perl有記憶小括號,Java則需費周章用Matcher的group,可是單單用String的replaceAll也能辦到,如下:

  SampleString.replaceAll("(\\d{4})(\\d{2})(\\d{2})", "$1-$2-$3"); $1是記憶左起第一個括號,$2是第二個,以此類推,因此若若要改成DDMMYYYY,只需在第二個參數改成$3-$2-$1即可。

P.S: 本來一直踹${1},後來發現是自己想太多了,用$1即可。


  若Sample是3,6,9,13,18,25中,要把單位數字前面補零怎麼辦,就覺得Regex強到可以令人走火入魔。如下:

SampleString.replaceAll("(,|^)(\\d)(?=,)", "$10$2")。很簡單的一式要講解得大費周章了。


  在Perl裡有忽略大小寫的模式,可以用這方式替代:(?i)jemmy(?-i)或(?i:jemmy),這樣Jemmy、JEMMY等都會符合。

arrow
arrow
    全站熱搜

    Jemmy 發表在 痞客邦 留言(0) 人氣()