正規表示式學習日記

2021-03-31 08:56:31 字數 1682 閱讀 8881

1、「.」為萬用字元,表示任何乙個字元,例如:「a.c」可以匹配「anc」、「abc」、「acc」;

2、「」,在內可以指定要求匹配的字元,例如:「a[nbc]c」可以匹配「anc」、「abc」、「acc」

;但不可以匹配「ancc」,a到z可以寫成[a-z],0到9可以寫成[0-9];

3、數量限定符號,表示匹配次數(或者叫做長度)的符號:

包括:「*」——0次或者多次

「+」——1次或者多次

「?」——0次或者1次

「」——匹配n次,n為整數

「」——匹配從n到m之間的某個數的次數;n和m都是整數;

「」——匹配n到無窮次之間任意次數;

「」——匹配0到m之間任意次數;

他們放到匹配格式的後面:

例如:**號碼:024-84820482,02484820482(假設前面3或者4位,後面7或者8位,並且中間的減號可有可無)

都是符合規定的,那麼可以用如下格式來匹配:[0-9] /-? [0-9];

注意:「/」為轉義字元,因為「-」在正規表示式用有代表乙個範圍的意義,例如:前面所說的[0-9],

所以它需要轉義字元「/」進行轉義才可使用;

4、「^」為否符號,表示不想匹配的符號,例如:[^z][a-z]+可以匹配所有除「z」開頭的以外的所有字

符串(長度大於2,因為「+」表示大於等於1的次數,從第二位開始都是小寫英文本元);

如果^放到的外邊則表示以開頭的字串;^[az][a-z]+表示a或者z開頭的長度大於等於2的英文本元

串;5、「|」或運算子,例如:a[n|bc|cb]c可以匹配「abcc」,「anc」,「acbc」;

6、「$」以它前面的字元結尾的;例如:ab+$就可以被「abb」,「ab」匹配;

7、一些簡單表示方法:

/d表示[0-9];/d表示[^0-9];/w表示[a-z0-9];/w表示[^a-z0-9];/s表示[/t/n/r/f],就是空格字元包括tab

,空格等等;/s表示[^/t/n/r/f],就是非空格字元;

8、常用的匹配:

匹配中文字元: 「[/u4e00-/u9fa5]」;

匹配雙位元組字元(包括漢字在內):「[^/x00-/xff]」;

匹配空行的正規表示式:「/n[/s| ]*/r」;

匹配html標記的正規表示式:「/<(.*)>.*|<(.*) //>/」;

匹配首尾空格的正規表示式:「(^/s*)|(/s*$)」;

匹配非負整數(正整數 + 0):「^/d+$」;  

匹配正整數:「^[0-9]*[1-9][0-9]*$」;

匹配非正整數(負整數 + 0):「^((-/d+)|(0+))$」;

匹配負整數:「^-[0-9]*[1-9][0-9]*$」;

匹配整數:「^-?/d+$」;

匹配非負浮點數(正浮點數 + 0):「^/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+)?))$  //匹配非正浮點數(負浮點數 + 0)

^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //匹配

正規表示式學習日記

1 為萬用字元,表示任何乙個字元,例如 a.c 可以匹配 anc abc acc 2 在內可以指定要求匹配的字元,例如 a nbc c 可以匹配 anc abc acc 但不可以匹配 ancc a到z可以寫成 a z 0到9可以寫成 0 9 3 數量限定符號,表示匹配次數 或者叫做長度 的符號 包括...

正規表示式學習

概念 正規表示式,就是用某種模式去匹配一類字串的乙個公式。基礎 下表列出了所有的元字元和對它們的乙個簡短的描述。簡單例子 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...