正则

规则

  1. 特殊字符
  • \w字母数字下划线
  • \d数字
  • \b单词边界
  • \s空格
  • .除换行之外
  1. [匹配规则], {重复次数}, (分组)
    • ^foo: foo开头
    • [^\w] 非\w

创建一个regexp

  1. new RegExp('foo', g)
new RegExp('\w', g)
等同于
new RegExp('w', g)
等同于
/w/g
需要用转义字符再转译一次
new RegExp('\\w')
等同于
/\w/
  1. 标识符
    g 全局
    i 大小写忽略
    m 有换行符的多行

方法

String.prototype.match


  var str = 'foo 234typefoo'
  1. reg 不带全局
    var reg = /(fo)o/
    str.match(reg) // ['foo', 'fo',  index: 0, input: 'foo 234typefoo', groups: undefined]
  只会返回第一项的各种信息和分组内容
  2. reg 带全局
    var reg = /(fo)o/g
    str.match(reg) // ['foo', 'foo']
  会返回所有匹配项组成的数组,但是没有其他分组信息

String.prototype.matchAll 接受一个全局正则,返回匹配到的每一项所有信息的集合

  var str = 'foo 234typefoo'
  var reg = /(fo)o/g // 只能是全局的reg
  str.matchAll(reg) // [['foo', 'fo',  index: 0, input: 'foo 234typefoo', groups: undefined], ['foo', 'fo',  index: 11, input: 'foo 234typefoo', groups: undefined]]

String.prototype.replace


var str = 'foo 234typefoo'
var reg = /foo/g
str.replace(reg, '替换想')
等同于
str.replaceAll('foo', '替换想')

reg.test(str) 匹配到true
reg.exec(str) 每调用一次匹配一项

var str = 'foo 234typefoo'
var reg = /foo/g
reg.exec(str)
// ['foo', index: 0, input: 'foo 234typefoo', groups: undefined]
reg.exec(str)
// ['foo', index: 11, input: 'foo 234typefoo', groups: undefined]
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 带你入门(几个小小点) 目录 正则表达式的使用 正则表达式的基本构成元素 正则中的类(分类),基本的元字符 + 五...
    南航阅读 725评论 0 2
  • 正则表达式 正则表达式(Regular Expression),使用单个字符串来描述、匹配一系列匹配某个法规则的字...
    茕茕微凉阅读 1,375评论 0 0
  • 正则表示式在线测试工具网站,并以图例的方式呈现正则表达式:regexper.com本文章内容通过学习Samarit...
    啧啧扬阅读 2,377评论 0 0
  • JavaScript正则表达式笔记 概述 RegularExpression:安装某种规则匹配指定内容的单个字符串...
    hiccphp阅读 376评论 0 4
  • javascript 中的正则表达式。 在使用正则表达式的时候,总是要重新看一遍,感觉基础不牢,今天再看了慕课网正...
    strong9527阅读 452评论 0 0