正則表達式

正則表達式

爲什麼要有這個正則表達式

因爲查找是一個比較複雜的東西,我們想更加準確快速找到自己想要的

什麼是正則表達式?

它可以定義一種字符串邏輯的公式,來和要查找的字符串做匹配,找到自己想要的。

定義:

1.     使用  /規則/修飾符

var patt = /Hello CoolDog/i;

 

2.     新創建一個RegExp對象,給兩個參數分別爲規則和修飾符,修飾符可省略

var patt1 = new RegExp("hello","i");

常用的修飾符:

“i”:不區分大小寫

var patt = /HelloCoolDog/i;//i 不區分大小寫
var patt1 = new RegExp("hello","i");

“g”:全局匹配,從找到的下一個下標開始再繼續往後查找,一直到字符串結束。

var patt2= /o/g;//全局查找
var result= str.replace(patt2,"O");
 document.write(result);

字符模式

[Hel]:從裏面字符中任意一個去匹配字符串

var str  ="Hello CoolDog";
var patt = /[Hel]/g;

[0-9];匹配任意一個數字

var str  ="HelloC2342311345oolDog";
var patt1= /[0-9]/g;
var result= str.match(patt1);
document.write(result);

[a-z]:匹配所有小寫字母

varstr  ="HelloC2342311345oolDog";
    var patt1 = /[a-z]/g;
    var result = str.match(patt1);
    document.write(result);

 

[A-Z]:匹配所有的大寫字母

var str  ="HelloC2342311345oolDog";

  var patt1 = /[A-Z]/g;                         
    var result = str.match(patt1);
    document.write(result);

 

 

(a|x):匹配a或者x,a也能用[]來代替

var str  ="HeadxlloC2342311345oolDog";
var patt1= /(a|x)/g;                               
var result= str.match(patt1);
document.write(result);

 

常用的元字符:

\w :單詞字符,包括所有字母和下劃線,w是word的縮寫。

var str  ="___——____*&%#HeadxlloC234231!^?_+^1345oolDog";
var patt = /\w|/g;//word
var result= str.match(patt);
document.write(result);

 

\s :空格 s是space的縮寫

var str  ="__ HeadxlloC2342311345oolDog";
var patt = /\s|/g;//space
var result= str.replace(patt,"&");
document.write(result);

\d :數字 ,digital的意思

var patt = /\d|/g;//

 

 

常用的量詞:

var patt= /oo+/g;//匹配一個或多個
var patt1= /oo*/g;//匹配0個或多個
var patt2= /oo?/;//匹配0個或者一個

o+:找到一個或多個o

o* :找到0個或者多個

o?:找到0個或者1個

 

var patt= /o{2}/g;//指定了o的個數
var patt1= /o{2,3}/g;//指定至少兩個最多三個
var patt2= /o{2,}/g;//指定至少兩個最多三個

o{3}:指定具體的個數

o{2,3}:指定一個有範圍的區間,最少兩個最多三個

o{2,}:最少兩個

 

^:必須以它後面的內容爲開頭

$:以什麼內容結束

 

RegExp常用的兩種方法:

Exec():返回的是找到符合正則表達式新的字符串

var patt= /\w+/g;
var str = "goodafternoon";
var result patt.exec(str);

Test():返回的是true或者false 當字符串滿足正則表達式時位true否則爲false

var str= prompt("請輸入密碼");
var patt = /[a-z]|[A-Z]\w{5,17}/i;
if (patt.test(str)){
    document.write("您輸入的密碼正確");
}else
{
    document.write("對不起,您輸入的密碼不符合規範!")
}

發佈了40 篇原創文章 · 獲贊 6 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章