JS中正則表示式的基礎知識點元字元
正則表示式:又稱為:規則表示式 英語;Regluar Expression 簡寫:regex,regexp或者RE
正則表示式:不是字串,是字串的匹配模式(規則)
需要用反斜槓進行轉移
正則表示式的建立:
1.字面量建立:由兩個斜槓/包裹
var reg = /a/; 匹配指定字串中的"a"字元
2.通過建構函式RegExp建立正則物件
引數有二:1.正則表示式的內容,需要一個字串,2.正則匹配規則的修飾符,需要一個字串
var reg = new RegExp("a");
通過兩種方法建立的正則是一樣的,方法2可以拼接變數,方法一不行
i:正則匹配忽略大小寫
g:正則全域性匹配
m:正則進行多行搜尋匹配,會影響^$的結果
常用方法:
1.正則物件的方法:test(),用於校驗指定字串是否符合正則規定的匹配規則,如果符合返回true,如果不符合false
當正則為全域性匹配時,那麼Test()就會存在匹配的錨點
正則.test(指定字串);
2.match();用於匹配字串中符合匹配規則的字元或字串,如果有,返回符合規則字串的陣列,如果沒有返回Null
指定字串.match(正則);
3.字串的方法:replace(),將指定的字元進行替換,此方法不會對原來的字串產生影響,會將替換後的結果返回
var reg = /l/g;
console.log(str.replace(reg,"a"));
4.字串的方法:split().可以填寫正則作為引數
元字元:在正則表示式中已經定義好作用和意義的特殊字元
如果要在正則中匹配元字元,需要使用\對元字元進行轉義, . ^ < > $ [ ] { }
正對於帶有\的元字元,如果需要匹配,正則需要轉義,匹配的字串中需要進行轉義
.;可以匹配除了\n以外的所有字元
\d:可以匹配數字
\D:匹配非數字
\w:匹配數字,字母,下劃線
\W:匹配非陣列,非字母,非下劃線
\s:匹配空格,tab鍵,\n,\f
\S匹配非空格,tab鍵,\n,\f
\u4e00-u9fa5匹配所有漢字
();表示組匹配,會將()包裹的字元作為一個整體進行匹配,並且預設情況下會將匹配的結果進行捕獲,暫存
於RegExp物件中
console.log(/h(e)(l)(l)/.test(str));//true
console.log(RegExp.$1); e
console.log(RegExp.$2); l
console.log(RegExp.$3); l
console.log(RegExp.$4); 輸出為空
[];表示匹配的區間,或者多個可選項:當在[]出現連續區間的字元時,可以將首尾字元通過"-"連字元表示一段連續區間
var reg = /[1234567890]/; == var reg =/[\d]/; == var reg = /[0-9]/;
在[]中出現^脫字元(只能出現在中括號的開頭),表示取非
{}通常從表示指定字元出現的次數
{11}表示必須連續出11次
{1,11}表示至少出現1次,至多出現11次
{1,}表示至少出現一次,可以連續出現無限次
量詞:表示指定字串出現的次數
+:至少出現一次
*:出現0次或者多次
?:出現0次或1次