JS中正则表达式的模式匹配
来源:互联网 发布:淘宝动态计算器 编辑:程序博客网 时间:2024/06/05 23:58
一、常用字符类
- \w 等价于[a-zA-Z0-9]
- \W 等价于[^a-zA-Z0-9]
- \s 任何Unicode空白符(包括空格符、制表符等)
- \S 任何非Unicode空白符
- \d 等价于[0-9]
- \D 等价于[^0-9]
二、重复次数
- {n,m} 匹配前一项至少n次,至多m次
- {n,} 匹配前一项至少n次
- {n} 匹配前一项n次
- ? 匹配前一项0次或1次
- +匹配前一项1次或多次
- *匹配前一项0次或多次
三、分组和引用
- | 相当于“或”
- (…) 将几个项组合成一个单元,这个单元可通过”*”、”+”、”?”、”|”等符号修饰,而且可记忆匹配的字符串
- (?:…)把项组合到一个单元,但不记忆
- \n 引用第n个分组第一次匹配到的字符,组索引是从左数的左括号,”(?:”形式的分组不参与索引(索引从1开始)
四、锚字符
- ^ 匹配字符串的开头,多行检索中匹配一行的开头
- $ 匹配字符串的结尾,多行检索中匹配一行的结尾
- \b 匹配一个单词的边界
- \B 匹配非单词边界的位置
- (?=p)要求接下来的字符都匹配p,但不包括匹配p的字符
- (?!p) 要求接下来的字符都不匹配p
五、修饰符
- i 执行不区分大小写的匹配模式
- g 执行全局匹配模式,即找到所有匹配的字符
- m 执行多行匹配模式
六、相关String方法
- search()
参数是一个正则表达式,返回第一个与之匹配的子串的起始位置,找不到就返回-1
"JavaScript".search(/Java/i);//返回0
- replace()
用指定的字符串替换匹配到的子串。第一个参数是一个正则表达式,第二个参数是要进行替换的字符串,返回替换后的字符串
"JavaScriptjavascriptjavascript".replace(/javascript/gi,"Java");//返回"JavaJavaJava"
- match()
参数是一个正则表达式,返回一个由匹配结果组成的数组。如果正则表达式设置了修饰符g,则该方法返回的数组包含字符串中的所有匹配结果。
"1 plus 1 equals 2".match(/\d/g);//返回["1", "1", "2"]
当正则表达式不是全局检索时,它也会返回一个数组。这时数组的第一个元素就是匹配的字符串,余下的元素是正则表达式中圆括号括起来的子表达式匹配。
"123 http://wwww.test.com/hahaha123".match(/(\w+):\/\/([\w.]+)\/(\S*)/);//返回["http://wwww.test.com/hahaha123", "http", "wwww.test.com", "hahaha123"]
- split()
用于将字符串拆成子串组成的数组
"1, 2, 3".split(/\s*,\s*/);//返回["1", "2", "3"]
阅读全文
1 0
- JS中正则表达式的模式匹配
- JavaScript中正则表达式的模式匹配
- JS中正则表达式所缺少的匹配模式(单行模式)
- JS学习十二天----正则表达式的模式匹配
- 正则表达式的模式匹配
- Javascript中正则表达式的全局匹配模式 /g
- Javascript中正则表达式的全局匹配模式
- C#中正则表达式的3种匹配模式
- JS中正则表达式只有3种匹配模式(没有单行模式)
- C#中正则表达式 【单匹配模式】、【 多匹配模式 】的整理
- 正则表达式-匹配模式
- js正则表达式的几个匹配方法
- 正则表达式的3种匹配模式
- 正则表达式的3种匹配模式
- 使用正则表达式的模式匹配
- Grep模式匹配的正则表达式
- JavaScript正则表达式的模式匹配
- 正则表达式的3种匹配模式
- 如何读取GPS信号
- 《单词4》
- 浅析PHP运行机制与流程
- linux 安装软件 命令集合( 本人电脑 系统 linux ubuntu-16.04.3)
- 【MyBatis-02】一个小Demo
- JS中正则表达式的模式匹配
- C ++ Primer Plus 第六版 第十七章编程练习答案
- Eclipse常用快捷键总结
- 传输层安全协议抓包分析之SSL/TLS
- 数据库水平切分的实现原理解析——分库,分表,主从,集群,负载均衡器
- Struts2知识点回顾(八)OGNL与ValueStack
- HDU-2017 多校训练赛10-1001-Admiral
- Sersync github镜像 二进制包
- R语言画图