02.26 正則表達式2

字符串正則方法

String.prototype.search(regexp|substr)

返回第一個和參數匹配的子串的起始位置,沒有匹配子串返回 -1;如果參數不是正則表達式,將會通過 RegExp 構造函數轉換成正則表達式。

String.prototype.replace(regexp|substr, newSubStr|function)

第一個參數同 search ,查找指定子串,如果第二個表達式是字符串,將把第一個參數匹配的子串替換成為 newSubStr;如果在替換字符串中出現了 $ 加數字, replace 將用與指定的子表達式相匹配的文本來替換這些字符。

使用字符串作為參數時替換字符串可以插入下面的特殊變量名:

  • $$ 插入一個 "$"
  • $& 插入匹配的子串
  • $ 插入當前匹配的子串左邊的內容
  • $' 插入當前匹配的子串右邊的內容
  • $n 假如第一個參數是 RegExp對象,並且 n 是個小於100的非負整數,那麼插入第 n 個括號匹配的字符串,注意:索引是從1開始。

String.prototype.match(regexp)

參數 regexp 為一個正則表達式對象。如果傳入一個非正則表達式對象,則會隱式地使用 new RegExp(obj) 將其轉換為一個 RegExp 。

String.prototype.split([separator[, limit]])

separator 指定表示每個拆分應發生的點的字符串,可以是一個字符串或正則表達式,如果空字符串("")被用作分隔符,則字符串會在每個字符之間分割。

limit 一個整數,限定返回的分割片段數量。


RegExp 屬性

  • flags 會返回正則表達式的修飾符;
  • 表示對應修飾符是否存在的只讀布爾值,global (表示是否帶有修飾符 g),ignoreCase (i),multiline(m),sticky(y),dotAll(s),unicode(u);
  • source 只讀字符串,包含正則表達式的文本;
  • lastIndex 可讀/寫整數。如果帶有 g 修飾符,這個屬性存儲在整個字符串中下一次檢索的開始位置。這個屬性會被 exec() 和 test() 方法用到。


方法

  • exec(),如果沒有找到任何屬性,將返回 null,如果找到匹配返回一個數組,該數組第一個元素是相匹配的字符串,餘下的元素是與圓括號內的子表達式相匹配的子串。當調用 exec() 的正則表達式具有修飾符 g 時,它將把當前正則表達式對象的 lastIndex 屬性設置為緊挨著匹配子串的字符位置。
  • test(),調用 test() 和 exec() 等價,當 exec() 返回結果不是 null,test() 返回 true,否則返回 false 。



分享到:


相關文章: