正则表达式2

在前一节中了解了 test 方法和 exec 方法。这一节认识一下字符串的 str 方法。

使用字符串的正则表达式方法

除了 test() 和 exec() 方法, string 对象也提供了4个使用正则表达式的方法。
具体见图


具体的每一条我们一一验证

  1. match(pattern)
    match(pattern) 是返回 pattern 的字串或者 null 具体代码见下图

    var pattern=/xiancai/;
    var str='咸菜 is a breakfast,Xiancai is a name';
    alert( str.match(pattern));
    具体的 alert 是


    因为是没有 xiancai 这个字符所以返回 null。如果将上面的代码做出改变。

    var pattern=/xiancai/g;
    var str='咸菜 is a breakfast,xiancai is a name.xiancai is a name';
    alert( str.match(pattern));


上面的代码中加入了 g 全局匹配,这样就有数组 xiancai,xiancai 出现了 如果要看类型的话可以在代码中加入 typeof 来查看,打印的就会是 object。

var pattern=/xiancai/g;      
var str='咸菜 is a breakfast,xiancai is a name.xiancai is a name';             
alert(typeof str.match(pattern));         

从图可以看出来是 object 类型


或者是用这样的代码将数组打印出来证明是数组。

var pattern=/xiancai/g;      
var str='咸菜 is a breakfast,xiancai is a name.xiancai is a name';     
var a=str.match(pattern);   
alert (a[1]);     
  1. replace(pattern,relacement)
    replace(pattern,relacement) 是用 relacement 将 pattern 替换掉。

    var pattern=/xiancai/g;
    var str='咸菜 is a breakfast,xiancai is a name.xiancai is a name';
    alert(str.replace(pattern,'Xiancai'));//返回替换后的字符。


这时候我开启了全局,会替换所有匹配的字符串。如果没有匹配全局则是替换第一个参数。

  1. 使用 search 来查找匹配的数组

    var pattern=/xiancai/g;
    var str='咸菜 is a breakfast,xiancai is a name.xiancai is a name';
    alert(str.search(pattern));

返回第一个匹配到的位置,这时候不会查找到第二个 xiancai
如果找不到就返回 -1;具体有兴趣可以自己试试。

  1. split 拆分字符串作为数组

    var pattern=/xiancai/g;
    var str='咸菜 is a breakfast,xiancai is a name.xiancai is a name';
    alert(str.split(pattern)); //这里我们匹配了xiancai,我们看看会打印什么


这时候就看到 1 方框和 2 方框里面是“,,”和“.,”说明把字符串拆分成了数组。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转义符/^http:////@163.com$//^http:///.test("http://www.163.c...
    zz张哲阅读 234评论 0 0
  • 正则表达式是一个描述字符模式的对象,ECMAScript的RegExp类表示正则表达式。String与RegExp...
    Miss____Du阅读 822评论 0 4
  • 上一篇写了正则表达式的基础内容(正则表达式基础),还有一些更有意思的在这里补充一下,姑且当作进阶篇。 捕获分组与反...
    0x70e8阅读 224评论 0 1
  • 什么是正则表达式?如何创建正则表达式正则表达式常用的方法字符串中的正则表达式常用的正则表达式假设用户需要在HTML...
    greenlift阅读 828评论 0 0
  • 正则表达式的元字符是包含特殊含义的字符,它们有一些特殊的功能,可以控制匹配模式的方式,反斜杠后的元字符失去其特殊含...
    Miss____Du阅读 1,612评论 0 6