ㄌㄐ@你的水潤餅大使
幹 C 的 regex 行為也太奇怪ㄌㄅ
ㄌㄐ@你的水潤餅大使
([a-zA-Z]+[0-9])(\ [a-zA-Z][0-9][a-zA-Z][0-9](\.[a-zA-Z]+)?)(\ \-[a-zA-Z]+)(\ ?\|\ ?[a-zA-Z]+(\ \-[a-zA-Z]+)([a-zA-Z][0-9][a-zA-Z][0-9](\.[a-zA-Z]+)?))*(\|\ ?[1-9])?
這我有丟線上ㄉtester跑過
結果 regexe() 結果居然 cat 是 match ?
ㄌㄐ@你的水潤餅大使
現在大概只有 redirect 是正常ㄉ
ㄌㄐ@你的水潤餅大使
好怪
ㄌㄐ@你的水潤餅大使
ㄛ好像發現我 regex 寫錯ㄌ?
ㄌㄐ@你的水潤餅大使
不是,我沒寫錯,剛剛查ㄌ一下 GNU C regex 本身有 bug 會出錯笑死(rofl)
ㄌㄐ@你的水潤餅大使
幹那我這樣還要 mask ㄇ笑死
ㄌㄐ@你的水潤餅大使
只好用 strstr 檢查ㄌ
ㄌㄐ@你的水潤餅大使
怎ㄇ那麼荒謬
Sean Wei
本身有 bug 是怎樣 XDD
ㄌㄐ@你的水潤餅大使
Sean Wei : 不知道,我看了其他人說用 regex.h 如果裡面有一堆跳脫過的符號的話判斷會有問題
有人要抓算式 \+ 有時候會 match 有時候又不會 match(?
ㄌㄐ@你的水潤餅大使
我之前有用這個寫 unix 作業,但只有抓數字跟字母跟\.所以上次寫沒出事
ㄌㄐ@你的水潤餅大使
但這次有 \| \他就會被當成 wild 一樣送什麼都會過
ㄌㄐ@你的水潤餅大使
所以我只好又加一條 if(strchr(buf, '|') == NULL) return 0;....
載入新的回覆