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 。



分享到:


相關文章: