js正則匹配字符串


這里我第一時間想到的就是用 js 的search 和 match ,其中最常見的是match;

1. str.search(regexp):search()方法不支持全局搜索,因為會忽略正則表達式參數的標識g,並且也忽略了regexp的lastIndex屬性,總是從字符串的開始位置進行檢索,所以它會總是返回str的第一個匹配的位置。

var str = "Javascript";
str.search(/script/); // 返回 script 中s的位置為 4
str.search(/j/i); // 設置正則表達是標識i:忽略大小寫,則匹配到J,返回位置0

2. str.match(regexp):返回值是包含了匹配結果的數組。(有設置全局標志g和沒有設置全局標志,如果沒有設置全局標志,則就不是全局性的檢索,只是檢索第一個匹配。)

    有設置全局標志

// 全局匹配
var str = "1 plus 2 equals 3";
str.match(/\d/g); // 匹配字符串中出現的所有數字,並返回一個數組: [1,2,3]

   沒有設置全局標志

// 非全局匹配
var str = "visit my blog at http://www.example.com";
str.match(/(\w+):\/\/([\w.]+)/); // 返回結果:["http://www.example.com", "http", "www.example.com"]
// 正則表達式匹配的結果為:http://www.example.com // 第一個子表達式 (\w+)匹配結果:http // 第二個子表達式 ([\w.])匹配結果: www.example.com

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM