JS中的正則表達式的小知識總結

傳統字符串的方法

1.indexOf ——查找對應字符的位置
2.SubString——用來截取字符串
3.charAt——在字符串中根據下標去找對應的字符
4.Split ——將字符串經過分割符轉成數組php

傳統的小案例
var str = 'abc123def45ghijk67lmnxyd89'; // 獲得全部的數字 並將相連的數字進行相連存儲 如 ["123","45","67","89"]
    var arr = [];
        // 創建一個臨時變量 用來拼接連續的數字字符串
        var temp = "";
        for(var i = 0; i < str.length; i++) {
            if(str.charAt(i)>="0"&&str.charAt(i)<=9) {
                // 進來以後確定是數字
                temp += str[i];
            } else {
                if (temp) {
                    arr.push(temp);
                    // 清空這個臨時變量 以便於下一次從新裝載  連續的數字
                    temp = "";
                }
            }
        }
        // 防止 最後一些字符 是數字 不進else 就拼不進去了 因此這個在最後要判斷若是temp裏面還有 則在推動去一次
        if (temp) {
            arr.push(temp);
            temp = "";
        }
        console.log(arr);

上面的方法是傳統的查找字符串的方法,咱們會感受的很麻煩,下面咱們用正則表達式試試:正則表達式

var str = 'abc123def45ghijk67lmnxyd89';
      console.log(str.match(/\d+/g));

用正則表達式之後會以爲這樣是簡單了不少,提升咱們的開發效率。數組

下面咱們來介紹一下什麼是正則表達式

定義:正則:也叫規則,是讓計算機可以讀懂人類的規則,正則都是操做字符串的,正則是一個強大的字符串匹配工具。
c) 正則:正則表達式Regular Expression var str var arr var re regexp函數

  1. 正則一個js中全局內置對象 (var mydate = new Date()) php (正則)
  2. 正則是一個工具
  3. 簡單聲明方式: var re = /abc/;
  4. 構造函數聲明方式 var re = new RegExp(‘abc’);

下面是一些正則表達式的經常使用匹配方法

1、Test():用正則去匹配的方法

1.返回值: 若是匹配成功 則返回true 不然匹配不成功 返回fals
2.寫法: re.test(str); 用re去匹配str工具

正則當中的轉義字符:

  1. .(點)——任意字符 若是就想只匹配.(點) 加轉義字符 還原它原本的意思.
  2. d、D 匹配數字 / 非數字
  3. w、W 匹配字符/非字符 (字符:字母數字下劃線 不包含空格)
  4. s 、S 空格/ 非空格
  5. b 、B 匹配獨立部分/ 非獨立部分

2、Search() 用正則進行匹配的方法

1.返回值: 若是匹配成功 則返回對應匹配的位置 不然匹配不成功返回-1
2.寫法:str.search(re)
注意:正則中嚴格區分大小寫 若是你想忽略大小寫,忽略大小寫(ignore簡寫)3d

3、Match()

1.返回值:若是匹配成功 則返回一個數組,會把匹配到字符保存到數組中
2.寫法:str.match(re)
注意: 正則匹配:若是匹配成功 則不日後匹配了,g 全局匹配模式code

var str = 'abbbcdeBdbBzzsB';   // ["bbb","B","bB","B"]
var re = /B+/ig;  // new RegExp(‘B+’,’ig’);
console.log(str.match(re));

上面的i和g都是放置在第二斜槓後面regexp

4、 Replace()

返回值:用正則去匹配字符串 ,將匹配到的字符進行替換 替換成新的字符對象

寫法一: str.replace(re,新字符);
寫法二: str.replace(re,function($0){

Console.log($0)
})
小案例:開發

將字符串("個人生活,個人愛人,個人世界")中的"個人"替換成"my"

var str="個人生活,個人愛人,個人世界";
document.write(str.replace(/"個人"/,"my"))//只替換了第一個後面的都沒有被替換
document.write(str.replace(/"個人"/g,"my"))//所有的個人都替換成了my

以上即是我對正則表達式的一些小總結!

相關文章
相關標籤/搜索