學習正規表示式(一)

2021-05-28 14:43:15 字數 1278 閱讀 3553

十一大假,在家閒著無聊,想要模擬乙個jquery。

最最棘手的問題---正規表示式。是個頭疼問題,所以我下定決心要搞定正則!

//首先,js中的正規表示式有乙個專門的類 

var reg = new regexp("這裡傳個正規表示式進去");

// 有兩個驗證方法

reg.exec("需要驗證的字串"); // exec方法,如果所傳的字串匹配這個正規表示式,則返回這個字串,否則返回null;

reg.test("需要驗證的字串");// test方法,如果所傳的字串匹配這個正規表示式,則返回true,否則返回false

// 很簡單的兩個方法。

//拿乙個新東西,應該先看看他是怎麼用的

var reg = new regexp("hello"); //最最經典的例程,你懂得

//現在我要匹配這個字串 然後把結果用console.debug打出來

console.debug(reg.test("hello world!"));

//結果為true ,說明 字串 hello world 可以被 正則 hello 所匹配

但如果hello 前後還有字串呢? 比如 ***xhellobbb ,這樣 正則 hello 將無法匹配成功

正則提供了佔位符 \b 它不代表任何字元,只起乙個佔位的作用,如果我這麼寫正則 \bhello\b 那麼 無論 字串前後有多少其他的字元 都可以成功匹配了

現在我們能匹配hello了,但world怎麼辦呢? 有人說 在正則裡面加個空格然後寫上world...對,這樣是可以。但如果hello後面還有n個其他的字串,如何去匹配world呢?

正則提供了幾個元字元,".","*" , "." 匹配除了換行符外的所有字元,"*"不匹配任何字元,它的作用是代表數量,對 就是數量,無限的數量。

如果正則這麼寫 \bhello\b.*\bworld!\b 來嘗試讀一下這個正規表示式,不要覺得它長就被嚇住了,完全沒有必要。jquery裡面的正則 上百個字元!

佔位符 字串hello 佔位符 所有的不限長度的字串 佔位符 字串world! 佔位符

覺得好理解麼?不管你理不理解,反正我是理解了。

只要傳進來的字串能夠符合這個條件,那麼就能匹配成功。

比如 我傳個 "hello *** !!! sdsdjddjskdfkdkjworld!" 快試試 能成功不 嘿嘿

好好消化一下。多測試測試 動動手~~~

正規表示式學習(一)

今天開始學習正規表示式,理由是遇到了一些合法性輸入驗證的問題,利用一些if判斷的方式來做,有點麻煩,而且這也不是長久之計。在網上 查了很多資料,發現正規表示式是一種可以對輸入合法性進行檢驗的高效的工具。摘自書中 從較低的層面上說,正規表示式描述的是一串文字的特徵。可以用它來驗證使用者輸入的資料,或者...

正規表示式 學習一

正規表示式本質 記錄 匹配 文字 字元 規則的 工具 規則 b是正規表示式規定的乙個特殊 好吧,某些人叫它元字元,metacharacter 代表著單詞的開頭或結尾,也就是單詞的分界處。雖然通常英文的單詞是由空格,標點符號或者換行來分隔的,但是 b並不匹配這些單詞分隔字元中的任何乙個,它只匹配乙個位...

正規表示式學習

概念 正規表示式,就是用某種模式去匹配一類字串的乙個公式。基礎 下表列出了所有的元字元和對它們的乙個簡短的描述。簡單例子 vi 命令作用 s g 把乙個或者多個空格替換為乙個空格 s 去掉行尾的所有空格 s 在每一行頭上加入乙個空格 s 0 9 0 9 去掉行首的所有數字字元 s b aeio g ...