javascript正则表达式学习笔记
2021/5/11 12:28:30
本文主要是介绍javascript正则表达式学习笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
转:
javascript正则表达式学习笔记
使用规则
用//包裹语句 b 单词边界 * 转义 g 全文搜索 m换行搜索 i 忽略大小写 lastIndex 是当前表达式匹配内容的最后一个字符的下一个位置 source 正则表达式的文本字符串 字符类 泛指 [abc] 把a或b或c归为一类(匹配abc中任意一种) 取反^ [^abc] 范围类 [a-z] 匹配从a到z的任意字符 也可以连写[a-zA-Z] 如果想匹配横线 [0-9-] 比如匹配所有数字包括横线 就可以在后面继续跟一个横线 . [^nr] 除了回车和换行之外的所有字符 d 数字字符 D 非数字字符 s 空白符 S非空白符 w 单词字符(字母 数字下划线) W非单词字符 ^开始 $ 结束 B非单词边界
量词
?出现0次或1次(最多1次) + 出现1次或多次(至少1次) * 出现0次或多次(任意次) {n} 出现n次 {n,m} 出现n到m次 {n,} 至少出现n次
非贪婪模式
量词后面加? 意思是不用匹配最多的,匹配最少次出现的即可 如:"12345678".replace(/d{3,6}?/,"x") 输出:xx78
分组
用()可达到分组的功能 (book){3} book出现3次 'a1b2c3d4'.replace(/([a-z]d){3}/g, 'x') 输出:xd4
或 |
使用| 可以达到或的效果 'ByronsperByrCapser'.replace(/Byr(on|Ca)sper/g, 'x') 输出:xx
反向引用
'2016-11-25'.replace(/(d{4})-(d{2})-(d{2})/g, '$3/$2/$1') 输出:'25/11/2016'
忽略分组
不想捕获某些分组,不做处理,只需在分组内加上?:就可以 如(?:Byron).(ok) .为任意字符 Byron被忽略 只需处理ok
正向前瞻
/w(?=d)/ 匹配到单词字符(数字也是单词字符)然后向后看看是否是数字 'a2*34v8'.replace(/w(?=d)/g, 'x') 输出:'x2*x4x8'
正则方法
text exec search 'sas12sd21ad1sd'.search('1') 输出3 search方法查找出返回index 找不到返回-1 写入正则表达式会自动忽略g match split方法中也可以传入正则 'a1b2c3d4e5'.replace(/(d)(w)(d)/g, (match,g1,g2,g3,index,origin)=>{ console.log(match); return g1+g2; })
转:
javascript正则表达式学习笔记
这篇关于javascript正则表达式学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28AI给的和自己写的Python代码,都无法改变输入框的内容,替换也不行
- 2024-09-27Sentinel配置限流资料:新手入门教程
- 2024-09-27Sentinel配置限流资料详解
- 2024-09-27Sentinel限流资料:新手入门教程
- 2024-09-26Sentinel限流资料入门详解
- 2024-09-26Springboot框架资料:初学者入门教程
- 2024-09-26Springboot框架资料详解:新手入门教程
- 2024-09-26Springboot企业级开发资料:新手入门指南
- 2024-09-26SpringBoot企业级开发资料新手指南
- 2024-09-26Springboot微服务资料入门教程