正則表達式通過特定的式子匹配某種類型的字元串。對字元串進行匹配驗證或者從大量的字元串里提取出特定的信息。正則表達式包含普通字元和特殊字元。大部分的普通字元如‘A’或‘0’可以簡單的來匹配自己。如text可以匹配‘text’。特殊字元,可以來匹配一組字元串,或者來說明字元的用法。特征字元包括:.匹配任...
- 正則表達式通過特定的式子匹配某種類型的字元串。對字元串進行匹配驗證或者從大量的字元串里提取出特定的信息。
- 正則表達式包含普通字元和特殊字元。大部分的普通字元如‘A’或‘0’可以簡單的來匹配自己。如text可以匹配‘text’。特殊字元,可以來匹配一組字元串,或者來說明字元的用法。
- 特征字元包括:
- . 匹配任意一個字元除了\,如cabcd中ab.可以匹配abc
- $ 匹配字元串的結束位置。(如果設置了RegExp對象的Multiline屬性,$也匹配“\n”之前的位置),如123folked中fol匹配folked,而fol$匹配fol
- ^ 匹配字元串的開始位置(如果設置了RegExp對象的Multiline屬性,^也可以匹配“\n”之後的位置)
- * 匹配0或者多次前面的子表達式,例如:ab*匹配a,ab或者a後接任意個b
- + 匹配1或者多次前面的子式,例如ab+匹配a接大於0個b,所以不能僅匹配a
- ? 匹配0或者1次前面的子式,例如ab?匹配a或者ab
- *?,*?,??是貪婪的,最大化的匹配,例如,要匹配<h1>abdd<\h1>中的<h1>,當使用正則表達式為<.*>時匹配到結果是<h1>abdd<\h1>,加上?後可以使匹配最小化。<.*?>可以匹配<h1>
- {m}匹配將子式重覆m次後的字元串。例如:a{3}匹配aaa,而不能匹配其它次數個a。
- {m,n}匹配m到n次前面的子式。A{3,}b匹配AAAb,或者匹配一百次a一個b。
- {m,n}?匹配最小化模式,A{3,5}b對AAAAAAb,匹配為AAAb。