作者PurpleCrow (紫烏鴉)
看板RegExp
標題Re: [問題] 長度固定的寫法..(perl/php皆可)
時間Tue Oct 4 15:24:41 2011
※ 引述《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
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.18.139
1F:推 squalll:謝謝,我來研究研究! 大家都好厲害~~~ 10/05 15:03
2F:→ PurpleCrow:我看到你的補充才知道你要問什麼. 不過還有一點疑問 10/05 15:52
3F:→ PurpleCrow:如果第二欄只有一個字元,那麼是12345,6□□□□□ 10/05 15:54
4F:→ PurpleCrow:還是12345,6 ? 這個pattern只適用第一種 10/05 15:56
5F:推 squalll:第二欄如果只有一個字元,那麼會是 12345,6□□□□□ 10/24 09:58
6F:推 squalll:最後我是採用PurpleCrow的方法,比較簡單資料也正確 :) 10/24 10:07