正則表達式

正則表達式:從固定字符串中,得到某種特征的字符串。

  • 定義一個正則表達式
  • 構造函數(shù)
   var pat = new RegExp('hello');
  • 字面量
   var pat = /hello/;

正則表達式是對象

typeof pat;//'object'
  • 正則的方法:

  • test(s) 檢索字符串中是否包含指定值,返回true/false

    var pat = /hello/;
    var str = 'hello world';
    pat.test(str);//true
    pat.test('hel');//false('hel'中不包含'hello')
  • exec(s) 檢索字符串中是否包含指定值,返回被找到的指定值的數(shù)組,否則返回null
    var pat = /hello/;
    var str = 'hello world';
    pat.exec(str);//['hello']
    pat.test('hel');//null('hel'中不包含'hello')
  • 字符串方法
  • search(pat) 檢索在字符串中的位置,并返回;否則返回-1
    var str = 'hello world';
    var pat = /world/;
    str.search(pat);//6
  • replace(pat)
    var str = 'hello world';
    var pat = /world/;
    str.replace(pat,'man');//'hello man'
  • match(pat)
    var str = 'hello world';
    var pat = /world/;
    str.match(pat);//['world']
  • split(pat) 主要用于去除無意義的空格
var str = 'hello world   , oh I am'
var pat = /\s+/;
str.split(' ');//["hello", "world", "", "", ",", "oh", "I", "am"]
str.split(pat);//["hello", "world", ",", "oh", "I", "am"]

正則的用途:
1.一般用于校驗
2.關鍵詞的顧慮
3.內(nèi)容的檢測
4.模版替換

  • 全局匹配 和 忽略大小寫

  • 全局匹配 /.../g

   var pat = /hello/g;
   var str = 'hello world hello day';
   str.match(pat);//['hello','hello']

否則:

   var pat = /hello/;
   var str = 'hello world hello day';
   str.match(pat);//['hello']
  • 忽略大小寫 /.../i
   var pat = /hello/i;
   var str = 'HELLO world';
   str.match(pat);//['HELLO']
  • 正則的寫法
  • 1 [0-9a-zA-Z]匹配0-9,a-Z,A-Z中的任意一個
  • 2 [^0-9a-zA-Z]匹配除0-9,a-Z,A-Z之外的元素
  • 3 '.' 匹配單個字符(除換行和行結束符)
  • 4 \w 查找單詞字符(數(shù)字、字母、下劃線)
  • 5 \W 查找非單詞
  • 6 \d 查找數(shù)字
  • 7 \D 查找非數(shù)字
  • 8 \s 查找空白字符
  • 9 \S 查找非空白字符
  • 10 \b 查找單詞邊界
  • 11 \B 查找非邊界
  • 12 \n 換行符
  • 13 n+ 匹配任何包含至少一個 n 的字符串
   var pat = /h+/;//包含一個或者多個h
  • 14 n* 匹配盡可能多的n(可以為0)(貪婪模式)
    var str = 'aa dd aab abb33abbb88abbbbb';
    var pat = /ab*/g;
    str.match(pat);//["a", "a", "a", "ab", "abb",  "abbb", "abbbbb"]
  • 15 n? 匹配盡可能少的n(非貪婪模式)
    var str = 'aa dd aab abb33abbb88abbbbb';
    var pat = /ab?/g;
    str.match(pat);//["a", "a", "a", "ab", "ab",  "ab", "ab"]
  • 16 n{X} 匹配 X 個 n
   var str = '100, 1000 or 10000';
   var pat = /\d{4}/g;
   str.match(pat);//['1000','1000'];
  • 17 n{X,Y} 匹配 X 或者 Y 個 n
   var str = '100, 1000 or 10000';
   var pat = /\d{3,4}/g;
   str.match(pat);//['100','1000','1000'];
  • 18 n{X,} 匹配至少 X 個 n
   var str = '100, 1000 or 10000';
   var pat = /\d{3,}/g;
   str.match(pat);//['100','1000','10000'];
  • 19 n$ 匹配以 n 為結尾
  • 20 ^n 匹配以 n 為開頭
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 問答 \d,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^$分別是什么?答:\d 查找數(shù)...
    饑人谷_桶飯閱讀 347評論 0 1
  • 9.19--9.23 第7章 正則表達式 正則表達式是一個拆分字符串并查詢相關信息的過程。 推薦練習網(wǎng)站: js ...
    如201608閱讀 1,136評論 0 4
  • 1. \d,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^$分別是什么? \d查找數(shù)字。如...
    黃露hl閱讀 584評論 0 1
  • 在漫天遍野的薰衣草田旁,租一間樸實的田園小屋 在明凈的湖泊上劃著小船,看海鷗自由飛翔 我說,幸福,是因為捍衛(wèi)著生活...
    君君頭閱讀 541評論 0 0
  • 清涼,月色 我與妳漫步在狹長幽靜田野上 周圍充滿著蟲兒的呤唱、稻香 我不言,妳不語 就這樣走下去 時間一秒秒的從妳...
    花開需珍惜閱讀 208評論 0 4

友情鏈接更多精彩內(nèi)容