Re: [問題] 長度固定的寫法..(perl/php皆可)

作者: PurpleCrow (17868)   2011-10-04 15:24:41
※ 引述《squalll (追求夢想~)》之銘言:
: 沒想到還會回來回這一篇....
: 最近才發現這樣寫有些資料有問題
: 因為資料欄位中不一定會有資料,
: 最後一個欄位如果是空白的話這樣輸出就會錯誤
: 12345a345cd2187ankjdkj219zxnmzxn2109890
: 123 j12345mc1235987ccccc aaaaxxxxxxx
: 12344123222 123ascv
: 這樣到第三筆輸出的時候會變得很奇怪
: 預期應該會變成
: 12345,a345cd,2187ankjdkj219,zxnmzxn,2109890
: 123 ,j12345,mc1235987ccccc, aaaa,xxxxxxx
: 12344,123222,,123ascv,
: 推 squalll:沒想到還可以用|來當OR使用,他中間如果沒資料也回存空白 10/04
07:46
: → squalll:但是最後一筆如果沒資料,他就直接結束了,導致我的regex錯 10/04
07:47
綜合題目和補述
^(.{5}|$)(.{6}|$)(.{14}|$)(.{7}|$)(.{7}|$)
以下測試OK
123 j12345mc1235987ccccc aaaaxxxxxxx
12345a345cd2187ankjdkj219zxnmzxn2109890
12345a345cd2187ankjdkj219zxnmzxn
12345a345cd2187ankjdkj219
12345a345cd
12345
a345cd 2109890
2187ankjdkj219zxnmzxn
zxnmzxn
作者: squalll (追求夢想~)   0000-00-00 00:00:00
謝謝,我來研究研究! 大家都好厲害~~~
作者: PurpleCrow (17868)   0000-00-00 00:00:00
我看到你的補充才知道你要問什麼. 不過還有一點疑問如果第二欄只有一個字元,那麼是12345,6□□□□□還是12345,6 ? 這個pattern只適用第一種
作者: squalll (追求夢想~)   0000-00-00 00:00:00
第二欄如果只有一個字元,那麼會是 12345,6□□□□□最後我是採用PurpleCrow的方法,比較簡單資料也正確 :)

Links booklink

Contact Us: admin [ a t ] ucptt.com