1. 程式人生 > >總結-正則表達式

總結-正則表達式

[] 當前 -s [0 驗證 單個字符 空白字符 則表達式 aaa

前言:正則對象 (Regular Expression)正則表達式是一種強大的字符串汽配工具,它是由普通字符特殊字符構成的文字模式

作用:該文字模式是用來檢測當前字符串是否符合你的這套文字模式,作用場景如-輸入驗證;輸入數字

------------------

一 定義正則對象
var reg=new RegExp("正則表達式","修飾符");---構造函數語法
var reg=/正則表達式/修飾符;---直接量語法

二 修飾符
i 不區分大小寫
g 全局匹配
/[\w!#$%&‘*+/=?^_`{|}~-]+(?:\.[\w!#$%&‘*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/
三 正則表達式的構成


1 元字符
\w:匹配數字字母下劃線
\W:匹配非數字字母下劃線
\d:匹配數字
\D:匹配非數字
\s:匹配空白字符
\S:匹配非空白字符
. :匹配換行和行結束符以外的任意字符
^ :匹配字符串開始
$ :匹配字符串的結束
\n:匹配換行符

2 方括號:用於查找某個範圍內的字符
[]:匹配[]中羅列的單個字符
[abc]
[\u4e00-\u9fa5]
[a-z]
[A-Z]
[0-9]<===>\d
[a-z0-9_]<===>\w /\w/i /[a-z0-9_]/i new RegExp("[a-z0-9_]","i")
[^]:匹配除了[]當中羅列的字符以為的單個字符 [^abc] [^a-c]

3 限定符(量詞):用來描述字符出現的次數
? :匹配0個或1個
+ :匹配1個或多個
{n}:匹配n個 /\d{5}/ /[0-9]{5}/
{m,n}:匹配至少m個但是不能超過n個 /\d{6,10}/
{m,}:匹配至少m個 + <===> {1,}

4 分組和選擇
() :分組 abcabcabc (abc){3}
| :選擇 aba abb aab bab aaa bbb... (a|b){3}

aabbbb aaaaaa bbbbbb bbaabb ... ((aa)|(bb)){3}

6-18個字符構成,可以使用字母數字下劃線,但是必須以字母開頭
{6,18} \w ^[a-z]
/^[a-zA-Z]\w{5,17}$/ /^[a-z]\w{5,17}$/i

手機號:
1 3/5/7/8
/^1[3578]\d{9}$/

email:
sakjdakjd @ zhcfdh . com
\w+ @ [a-z]+ [.]或者\. (com)
/^\[email protected][a-z]+\.(com)$/i

------------------------------------------

四 常用正則表達式的String對象的方法

String.search(reg):檢測與正則表達式相匹配的值,如果找到返回匹配的位置否則返回-1

String.match(reg):找到一個或多個正則表達式的匹配,返回的是一個集合

String.replace(reg):替換與正則表達式匹配的子字符串

正則表達式在匹配的時候有一個特性:貪婪

五 RegExp對象的方法
RegExp.test(string):用於對某個字符串進行檢測,如果符合正則表達式的一個匹配結果則返回true,否則就返回false
只要字符串當中有一部分滿足正則的話就返回true,所以在書寫正則的時候必須要加上(^$)

總結-正則表達式