JS11

词边界---只对英文有效

1、\b  词边界(单词的边界)

  console.log("hello helloworld".match(/\bhello/g));

  console.log("hello helloworld".match(/hello\b/g));

2、\B  非词边界

console.log("hello helloworld".match(/hello\B/g));

正向预查(?=)

        字符串后面的值是???

console.log("hellobaby helloworld".match(/hello(?=world)/g));

console.log("hellobaby helloworld".search(/hello(?=world)/g));

反向预查(!=)

        字符串后面的值不是???

console.log("hellobaby helloworld".match(/Java(?!baby)/g));

console.log("hellobaby helloworld".search(/Java(?!baby)/g));

字符串边界 用于精确匹配

    ^  以指定字符开头

console.log("abcdef".match(/^a/));

    $  以指定字符结尾

console.log("abcdef".match(/f$/));

正则表达式修饰符

1、g执行全匹配(查找所有匹配)

2、i执行对大小写不敏感

3、m执行多行匹配(一般存在^或$时才会起作用)

用于模式匹配的String方法

1、search() 检索与正则表达式相匹配的第一个字符索引值

2、match() 找到一个或多个正则表达式匹配的字符串

3、replace() 替换与正则匹配的子串

4、split() 把字符串以正则表达式分割成数组

        参数2;指定数组的长度 --超出范围将不起作用

正则对象的方法

1、test();检索字符串中指定的值。返回 true 或 false。

  console.log(/^\w{5}$/.test("abc"));

  console.log(/^\w{5}$/.test("abc3s"));

2、exec();返回匹配的值,并确定其位置。不能使用g进行全局匹配。可以使用i console.log(/\w(\w)/.exec('abced45'));

 console.log(/\w/g.exec('abced45'));

实例

    实例1. --匹配html标签 实例2. --匹配URL

        var str = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit加入百度,加入网页搜索你可以影响世界,将简历发送至:http://www.baidu.com.cn/admin/info/config/index.php Laboriosam, libero, repellendus iste eum necessitatibus nemo cumque ipsum quos accusamus maiores et voluptas eaque provident excepturi expedita consequuntur';

        var res = /(http|https):\/\/([\w\.]+)\/((\w+\/)*)(\w+\.(\w+))/;

        var val = str.match(res);

        var s = "URL : "+val[0]+'<br>';

        s += "协议名 : "+val[1]+'<br>'

        s += "主机名(域名) : "+val[2]+"<br>";

        s += "路径名 : "+val[3]+"<br>";

        s += "文件名 : "+val[5]+"<br>";

        s += "后缀名 : "+val[6]+"<br>";

    实例2: 将文章中中文引号替换成英文引号

        vat text = "小明:“门前有条小河沟很难过”.老师:“小明,出去。”";

        var  res = text.replace(/”|“/g,’"’);

    实例3: 将文章中英文引号替换成中文引号

        var res = text.replace(/"([^"]*)"/g,"“$1”");

        注:$1代表第一个存入内存中的内容

    实例4: 将lady gaga 替换成gaga lady

    实例5: 尝试将数字格式化为千分位数字

    实例6: 将匈牙利命名法 改成驼峰命名法

        例如: border-bottom-width ->  borderBottomWidth

                1. 使用字符串处理方法

                2. 使用正则匹配方法

                function show(str){

                       var reg = /-([a-z])/;

                       str.replace(reg,function($0,$1){

                                 return $1.toUpperCase();

                       });

                }

实例8: 尝试将所有的单词首字母变成大写

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

推荐阅读更多精彩内容

  • 9.19--9.23 第7章 正则表达式 正则表达式是一个拆分字符串并查询相关信息的过程。 推荐练习网站: js ...
    如201608阅读 1,086评论 0 4
  • 初衷:看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印...
    DCbryant阅读 4,091评论 0 20
  • RegExp 三大方法本文的RegExp采用直接量语法表示:/pattern/attributes。attribu...
    恩德_b0c2阅读 482评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,156评论 19 139
  • 耳边循环播放着《我们可不可以不勇敢》 仿佛历经沧桑的自己只身静静地坐在房间里 开始想念 想念曾经的好姐妹 真的好想...
    矮油3147阅读 302评论 0 0