正規表示式的那些事(小白!)

2021-08-19 03:07:21 字數 690 閱讀 6767

關於這幾天寫php的作業,發現正規表示式真的好神奇啊,但對於我乙個小白來說還是很絕望。

漢字的匹配有這個 

[\u4e00-\u9fa5]
然後我的作業是把中文的數字整個轉換為『***』號,所以我就這樣寫了  /([\x-\x])[一二三四五六七**十]+/ u 這樣也倒是能夠提取出中文的數字了,至於為什麼有個『+』號呢,因為沒有加號的話這個表示式就會將每乙個匹配的字元都換成『***』而加了加號之後他就可以將整個幾個連續的中文數字轉換成『***』 就比如下面的意思

/([\x-\x])[一二三四五六七**十]+/ u   使用這個正則匹配  我今年二十

歲 有加號就會變成:我今年***歲

沒有加號就會變成:我今年******歲

然後就當我以為我要完工的時候,突然發現,我的每一次匹配都會把數字前面的乙個字元給帶上就像這樣

我今年二十歲--->我今***歲

/([\x-\x])[生]+/ u

我生活在我的生

日這句話匹配出來就是 「我生」和「的我」如下:

我生活在我的生

日這真的是很無奈呀,這之中的原理我也是不清楚,待我以後有時間再研究吧,不過這個問題的解決方式就是

這樣:/([\x-\x]})[生]+/ u  在中文正則的後面加了乙個這個就是強制它的匹配數量為單個字元得到的結果也就是:

我生活在我的生

日    這個啦!

關於scanf的那些事and正規表示式

是範圍連線符 遇到其他字元會停止 若字符集中有抑制符 含義是相反的意思,即在括號中的會停止輸入,不在的會讀入。萬用字元匹配檔名中的0 個或 1 個字元 萬用字元匹配0個或多個字元 正規表示式 regular expression 描述了一種字串匹配的模式 pattern 可以用來檢查乙個串是否含有某...

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...