正則其實我也學的不咋地,只會一點皮毛,正則最大的作用就是當輸入流是乙個字串,我們能在輸入的時候就濾掉無用資訊,省去後期提取數值的步驟。
正則的語法我怕誤人子弟,嘿嘿,等我徹底理解之後再寫
使用方法 :
表示讀取長度為n的字串
輸入:123456
輸出str:123 ( 以scanf(「%3s」, str);為例 )
表示讀取a-z的小寫字母,出現非a-z的小寫字母,立即停止讀取。
輸入:abcd123
輸出str:abcd
%*[ ]表示過濾掉滿足括號內條件的字串 %[ ]表示讀取
輸入:abcd123
輸出str:123
^表示非,^0-9表示非0-9的一切字元,因此是遇到0-9就立即停止讀取。
輸入:abcd123
輸出str:abcd
ps:%[^\n] 表示 讀取回車符以前的所有字元,常用於讀取含空格的字串。%[^ ] 表示 讀取空格符以前的所有字元。
表示過濾掉回車以前所有的字元,並將回車符的下乙個數字賦給num。
輸入:abcd\n12
輸出num:12
ps:%*[^ ]表示過濾空格以前的所有字元
我個人覺得(>人<;)這是所有的應用了
scanf 與正規表示式
1 scanf 函式根據由format 格式 指定的格式從stdin 標準輸入 讀取,並儲存資料到其它引數.format 格式 字串由控制字元,空白字元和非空白字元組成.控制字元以乙個 符號開始。2 scanf 讀取匹配format 格式 字串的輸入.當讀取到乙個控制字元,它把值放置到下乙個變數.空...
scanf的正規表示式
include stdafx.h include int main1 int argc,char argv scanf s str 空格當做結束 scanf n str 遇到回車就結束 scanf str 等號作為結束符 scanf str 以英文的逗號結束 printf str s n str r...
scanf 正規表示式的使用
內是匹配的字元,表示求反集,當遇到非集合內的字元時立即終止輸入 scanf a z str1 printf s n str1 輸入 abc123 輸出 abc scanf a za z0 9 str1 printf s n str1 輸入 abc123 def 輸出 abc123 scanf a z...