博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript正则表达式(一)
阅读量:4921 次
发布时间:2019-06-11

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

目录

正则表达式创建方式

两种:

  1. var reg = /xxxxx/
  2. var reg = new RegExp('xxxxx') 或 var reg = new RegExp(/xxxxx/)

    JavaScript正则表达式对象内置方法

  • exec() 与字符串方法match()类似
  • test()

元字符

( [ {  ^ $ | ) ? * + .

/[abc]/ 意思是,在一个位置可以出现的字符可能为a或b或c

eg:

/[abc]/.test('a') === true

(): 允许重复多个字符(分组)

eg:

// count字符串连续出现两次 countcount/(count){2}/.test('countcount') === true// 匹配 bad 或 dad  并且每个只能出现零次或者一次([bd]ad?)

量词

    • 出现0次或者多次
  • ? 出现零次或者一次
    • 出现一次或者多次
  • {n} 对应n次
  • {n,m} 对应n~m次
  • {n, } 至少n次

贪性量词 惰性量词

贪性量词: 指上面所有的简单量词

特点 : 匹配时,拿到整个字符串,从后往前,不匹配的去除
eg:

var str = 'aabbcccddaaabbbccccbbbb111'var reg = /.*ccc/g //贪婪console.log(reg.exec(str)) //["aabbccddaaabbbcccc", index: 0, input: "aabbccddaaabbbccccbbbb111", groups: undefined]0: "aabbccddaaabbbcccc"groups: undefinedindex: 0input: "aabbccddaaabbbccccbbbb111"length: 1__proto__: Array(0)]console.log(str.match(reg)) //["aabbccddaaabbbcccc"]

惰性量词: 在简单量词后加'?'

特点: 与贪性量词相反,从首个字符开始匹配

var str = 'aabbcccddaaabbbccccbbbb111'var reg = /.*?ccc/g;console.log(reg.exec(str)) console.log(str.match(reg))// ["aabbccc", index: 0, input: "aabbcccddaaabbbccccbbbb111", groups: undefined]// ["aabbccc", "ddaaabbbccc"]

分组

"baddad".match(/([bd]ad?)*/)结果: ["baddad", "dad", index: 0, input: "baddad", groups: undefined]第一个参数 为 正则匹配结果, 第二个参数 为 分组(括号内)的表达式匹配的结果

如果不想匹配到括号内的结果, 可以使用非捕获性分组?:

"baddad".match(/(?:[bd]ad?)*/)结果:["baddad", index: 0, input: "baddad", groups: undefined]

候选 (管道符 | )

var reg = /this is a apple|banana|orange/reg.test('this is a apple') === truereg.test('this is a banana') === true

转载于:https://www.cnblogs.com/lmx093418/p/10025777.html

你可能感兴趣的文章
DDD的思考
查看>>
类型转换及返回json对象的问题
查看>>
模拟题 找出不能拼凑的最小数
查看>>
ivew实现table的编辑保存追加删除
查看>>
poj 1904(强连通分量+输入输出外挂)
查看>>
Ubuntu重启关机命令使用
查看>>
第5章 不要让线程成为脱缰的野马(Keeping your Threads on Leash) ---干净的终止一个线程...
查看>>
shell $() vs ${}
查看>>
实现Serializable的类 的serialVersionUID的作用和生成
查看>>
PHP $_SERVER详解
查看>>
shell脚本大小写转换
查看>>
hdu4699-Editor
查看>>
正则小全
查看>>
Nginx二级目录自动加斜杠
查看>>
iOS开发技巧——关闭Autoresizing开启Autolayout
查看>>
JSP学习笔记(4)-Javabean
查看>>
乐观锁和悲观锁的区别
查看>>
搜索引擎算法研究专题二:HITS算法及其衍生算法分析
查看>>
C语言 内存四大存储区域
查看>>
浏览器兼容性
查看>>