1.(?=a) 表示我们需要匹配某样东西的前面。

2.(?!a) 表示我们需要不匹配某样东西。

3.(?:a) 表示我们需要匹配某样东西本身。

4.(?<=a) 表示我们需要匹配某样东西的后面。

5.(?<!a) 表示我们需要不匹配某样东西,与(?!a)方向相反

例子说明:

1.(?=a):

 console.log("我是中国人".replace(/我是(?=中国)/, "rr"))

打印出:rr中国人    (匹配的是中国前面的'我是')

2.(?!a):

console.log("我是中国人".replace(/(?!中国)/, "rr"))

打印出:rr我是中国人

3.(?:a):

 console.log("我是中国人".replace(/(?:中国)/, "rr"))

打印出:我是rr人

4..(?<=a):

console.log("我是中国人".replace(/(?<=中国)人/, "rr")) 

打印出:我是中国rr

5.(?<!a):

  console.log("我是中国人".replace(/(?<!中国)/, "rr")) 

打印出:rr我是中国人

一些正则实际使用

去除字符串中的中文

console.log("aaa我是中国人111".replace(/[^u4E00-u9FA5]/g, "")) // 去除中文,输出:'aaa111' 

去除字符串中的英文

console.log("aaa我是中国人111".replace(/([a-z])+/g, "")) // 去除英文,输出:'我是中国人111'

去除字符串中的数字

console.log("aaa我是中国人111".replace(/(d)+/g, "")) // 去除数字,输出:'aaa我是中国人' 

数字格式化

console.log("1234567890".replace(/B(?=(?:d{3})+(?!d))/g,","))
// 输出:'1,234,567,890'

去除ip地址

console.log("192.168.0.1".replace(/((2[0-4]d|25[0-5]|[01]?dd?).){3}(2[0-4]d|25[0-5]|[01]?dd?)/,"rr"))
// 输出:'rr'

参考链接https://juejin.im/post/5ceb7d9df265da1b8811ba7f

最新文章

  1. 移动Web初级入门
  2. UWP crop image control
  3. H5新出的flex布局
  4. ios--Attributes和ParagraphStyle介绍
  5. 禁止掉非法IP登陆服务器
  6. NSURLSession概述
  7. 【暑假】[深入动态规划]UVAlive 4794 Sharing Chocolate
  8. CSS应用五
  9. linux提取指定行至指定位置
  10. 修改Tabhost样式和字体大小和居中显示
  11. VisualStudioOnline协同工作流程
  12. 【有意思的BUG】需要停止的进程
  13. Makefile 命令解析
  14. AS插件-GsonFormat
  15. [转帖]Nginx安装及配置详解 From https://www.cnblogs.com/zhouxinfei/p/7862285.html
  16. 删除 Win10 更新后的 Z 盘符(已验证)
  17. SQL_DDL_建库建表
  18. Java 动态代理是基于什么原理
  19. crt key转p12, jks p12互转,windows生成jks,
  20. FlowPortal-BPM——离线审批(邮箱审批)配置

热门文章

  1. STM32F407 IO引脚复用器和映射 个人笔记
  2. Linux环境下使用VSCode编译makefile文件的注意事项
  3. 元祖、hash了解、字典、集合
  4. 关于FFM (Field-aware Factorization Machines) 的几篇博客
  5. 单调队列&amp;单调栈 基础
  6. codeforces Educational Codeforces Round 39 (Rated for Div. 2) D
  7. codeforces Gym 100971 A、B、C、F、G、K、L
  8. Bootstrap官网文档查询
  9. Network-POJ3694(最小公共祖先LCA+Tarjin)
  10. import与require的区别