博客
关于我
正则表达式
阅读量:339 次
发布时间:2019-03-04

本文共 2298 字,大约阅读时间需要 7 分钟。

正则表达式

  • 正则表达式: 是对字符串操作的一种逻辑公式, 就是用事先定义好的一些特殊字符以及这些特殊字符的组合,组成一个’规则字符串’, 这个字符串用来表达对字符串的一个过滤的逻辑. 简单来说就是规定文本检索的内容, 通常用来检索, 替换文本.
  • 正则表达式的创建:
    • 构造函数创建: new RegExp('检索字符', '修饰符');
    • 字面量创建: /检索字符/修饰符
var reg1 = new RegExp('abc');console.log(reg1); // /abc/console.log(typeof reg1); // objectvar reg2 = /abc/;console.log(reg2); // /abc/console.log(typeof reg2); // objectconsole.log(reg1 == reg2); // false
  • 修饰符: g: global 全局匹配 i: ignore case 不区分大小写
// g:global 全局匹配var str = 'hello java, hello web, hello world';var reg1 = /hello/;var reg2 = /hello/g;console.log(str.replace('hello', '你好')); // 你好 java, hello web, hello worldconsole.log(str.replace(reg1, '你好')); // 你好 java, hello web, hello worldconsole.log(str.replace(reg2, '你好')); // 你好 java, 你好 web, 你好 world// i: ignore case  不区分大小写var str = 'Hello World';var reg1 = /hello/;var reg2 = /hello/i;console.log(str.replace(reg1, '你好')); // Hello Worldconsole.log(str.replace(reg2, '你好')); // 你好 World
  • 正则表达式的方法:
    • test: 检索字符串中是否含有符合正则表达式的内容, 返回值为Boolean.
    • exec: 检索字符串中符合正则表达式的内容, 返回值是数组, 如果检索不到返回null.
// - test: 检索字符串中是否含有符合正则表达式的内容, 返回值为Boolean.// - exec: 检索字符串中符合正则表达式的内容, 返回值是数组, 如果检索不到返回null.var str1 = 'abcd';var str2 = 'a1b2c1d';var reg = /abc/;console.log(reg.test(str1)); // trueconsole.log(reg.test(str2)); // falseconsole.log(reg.exec(str1)); // ["abc", index: 0, input: "abcd", groups: undefined]console.log(reg.exec(str2)); // null
  • 字符串的方法
    • replace(): 替换
    • split(): 切割
    • match(): 检索字符串, 效果exec一致
    • search(): 查找目标字符串,返回第一次出现的位置, 找不到返回-1
// replace(): 替换var str = 'hello web';var reg = /hello/;console.log(str.replace(reg, '你好'));// split(): 切割var str = 'web java ui';console.log(str.split(' '));console.log(str.split(/ /));var str = 'web    java       ui';console.log(str.split(' ')); // (12) ["web", "", "", "", "java", "", "", "", "", "", "", "ui"]console.log(str.split(/ /)); // (12) ["web", "", "", "", "java", "", "", "", "", "", "", "ui"]console.log(str.split(/\s+/)); // ["web", "java", "ui"]// match(): 检索字符串, 效果exec一致var str = 'abc';console.log(str.match('c')); // ["c", index: 2, input: "abc", groups: undefined]console.log(str.match(/c/)); // ["c", index: 2, input: "abc", groups: undefined]// search(): 查找目标字符串,返回第一次出现的位置, 找不到返回-1var str = 'abc';console.log(str.search('c')); // 2console.log(str.search(/c/)); // 2console.log(str.search(/x/)); // -1

转载地址:http://btse.baihongyu.com/

你可能感兴趣的文章
【Java思考】Java 中的实参与形参之间的传递到底是值传递还是引用传递呢?
查看>>
【设计模式】单例模式
查看>>
【SpringCloud】Hystrix熔断器
查看>>
【Linux】2.3 Linux目录结构
查看>>
java.util.Optional学习笔记
查看>>
远程触发Jenkins的Pipeline任务的并发问题处理
查看>>
Web应用程序并发问题处理的一点小经验
查看>>
entity framework core在独立类库下执行迁移操作
查看>>
Asp.Net Core 2.1+的视图缓存(响应缓存)
查看>>
没花一分钱的我竟然收到的JetBrains IDEA官方免费赠送一年的Licence
查看>>
RE套路 - 关于pyinstaller打包文件的复原
查看>>
【wp】HWS计划2021硬件安全冬令营线上选拔赛
查看>>
Ef+T4模板实现代码快速生成器
查看>>
c++ static笔记
查看>>
C++中头文件相互包含与前置声明
查看>>
JQuery选择器
查看>>
SQL--存储过程
查看>>
MVC学习系列5--Layout布局页和RenderSection的使用
查看>>
多线程之volatile关键字
查看>>
2.1.4奇偶校验码
查看>>