正規表示式學習

2022-02-15 00:07:15 字數 1573 閱讀 8685

之前面試,遇到乙個ip判斷,我傻了吧唧的寫**,就是因為自己沒有好好學習正則,這裡稍微總結下:

1.先解決上次的遺留ip問題

regex 類所在的命名空間:system.text.regularexpressions

string striprgx=@"

^([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.(([0-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.)([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))$";

regex rg =new

regex(striprgx)

string stripaddress=console.readline().tostring();

public

bool

is_ip(stripaddress)

2.常用的一些校驗格式(尚未全部驗證):

[^\x00-\xff]:匹配雙位元組字元。

\n\s*\r: 這個簡單  匹配空白行。

[\w!#$%&'*+/=?^_`~-]+(?:\.[\w!#$%&'*+/=?^_`~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?:email位址校驗

):url 校驗

\d-\d|\d-\:國內**號碼

[1-9][0-9]:qq 號

^(\d)(\d)(\d)(\d)(\d)([0-9]|x)$:國內身份證號

([0-9][1-9]|[0-9][1-9][0-9]|[0-9][1-9][0-9]|[1-9][0-9])-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))):匹配日期 格式如:2014-11-11

^[1-9]\d*$:匹配正整數(^表示必須以1-9數字開頭,$必須以整數結尾,d是整數意思)

^-?[1-9]\d*$:匹配整數

^([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.(([0-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.)([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))$:匹配 ip 位址

^[a-za-z]+$  //匹配由26個英文本母組成的字串

^[a-z]+$  //匹配由26個英文本母的大寫組成的字串

^[a-z]+$  //匹配由26個英文本母的小寫組成的字串

^[a-za-z0-9]+$  //匹配由數字和26個英文本母組成的字串

^\w+$  //匹配由數字、26個英文本母或者下劃線組成的字串

好吧,先下班。。

正規表示式學習

概念 正規表示式,就是用某種模式去匹配一類字串的乙個公式。基礎 下表列出了所有的元字元和對它們的乙個簡短的描述。簡單例子 vi 命令作用 s g 把乙個或者多個空格替換為乙個空格 s 去掉行尾的所有空格 s 在每一行頭上加入乙個空格 s 0 9 0 9 去掉行首的所有數字字元 s b aeio g ...

正規表示式學習

1.元字元 1 匹配任何單個字元 2 匹配括號中的任何乙個字元 可以再括號中使用連字元 來指定子都的區間來簡化表示,如a 0123456789 c等價於a 0 9 c 3 將 之間括起來的表示式定義為 組 4 將兩個匹配條件進行邏輯 或 運算 z f ood則匹配 zood 或 food 5 匹配0...

正規表示式學習

只是點皮毛,先湊合用著了,順便鄙視一下sqlserver,居然不支援正則。b 元字元,代表著單詞的開頭或結尾,也就是單詞的分界處。d 數字 s 任意的空白符,包括空格,製表符 tab 換行符,中文全形空格等 w 字母或數字或下劃線或漢字等 匹配字串的開始 匹配字串的結束 轉義符 除換行符以外的任意字...