正規表示式學習筆記

2021-04-12 17:25:24 字數 1716 閱讀 5531

正規表示式學習日記

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]*)))$  //匹配

正規表示式學習筆記

字元描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束...

正規表示式學習筆記

1.正規表示式是可用於在乙個檔案或字元裡查詢和替代文字的一種標準。它具有兩種標準 基本的正規表示式 bre 擴充套件的正規表示式 ere ere包括bre功能和另外其它的概念。2.表示或運算 3.匹配任何單個字元 4.匹配任何中包含的單個字元,如 張王李 三,匹配張 三 王三,李三 5.將排除 後跟...

正規表示式學習筆記

pcle模式兩端必須有乙個界定符 或者 一般用 正規表示式最主要的組成部分 1 原子 普通的字元 abc 裡面有3個原子 a b c 1 a到z a到z 0到9 乙個字母就是乙個原子 2 模式單元 abc 加了括號之後表示乙個原子 3 原子表 xcy 表示原子只能從x c y這三個字元裡面去選擇 4...