JavaScript正则表达式

Posted Just Do It

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript正则表达式相关的知识,希望对你有一定的参考价值。

正则表示式 = 模式 + 修饰符

修饰符

  • i 不区分大小写
  • m 多行匹配
  • g 全局匹配,即匹配到第一个结果后不会停止,而是继续向后查找匹配
  • u Unicode模式,将模式视为Unicode序列点的序列
  • s dotAll模式,匹配任何字符,包括

正则表达式创建方式

  • 字面量形式://.
  • new Regexp()

两种模式的区别:字面量形式提供的是编译模式,Regexp构造函数模式提供的是运行时模式,可以在其中使用变量。

一、知识点

  • 符号概念

    • 元字符
    • 集合
    • 边界
    • 数量
    • 断言
  • 对象实例属性
  • 对象实例方法

二、符号概念

1、元字符
  • . 匹配任意单个字符,行结束符除外
  • d匹配任意阿拉伯数字,等价于[0-9]
  • D不匹配任意阿拉伯数字,等价于[^0-9]
  • +表示一个或多个
  • w匹配任意来自基础拉丁字母表中的字母、数字、下划线,等价于[a-zA-Z0-9]
  • W不匹配任意来自基础拉丁字母表中的字母、数字、下划线,等价于[^a-zA-Z0-9]
  • s匹配一个空白符
  • S匹配非空白符
  • 换行
  • 回车
  • 水平制表符
  • v垂直制表符
  • f匹配一个换页符
  • []匹配一个退格符
  • 匹配一个NUL符,不要在此后面根小数点
  • 转义符,是具有特殊含义的字符直接输出
  • xhh匹配编码为hh(两个十六进制数)的字符
  • uhhhh匹配unicode值为hhhh(四个十六进制数)的字符
2、集合
  • [abc]匹配集合中的任意一个字符
  • [^abc]不匹配集合中任意一个字符(也叫反义字符组)
  • [^]匹配任意字符,比.更全面,它可以匹配 等
2、边界
  • ^匹配字符串开始
  • $匹配字符串结束
  • 单词分隔符
  • B非单词分隔符
3、数量
  • x+ 一个或多个
  • x* 零个或多个
  • x+? 最小匹配
  • x*?最小匹配
  • x?零个或一个
  • x|y 匹配x或者y
  • x{n} 精确匹配n个
  • x{n,} 精确匹配最少n个
  • x{n,m} 精确匹配最少n个,最多m个
4、组
  • (x)匹配并且捕获x,这被称为捕获括号
  • 反向引用,n是一个正数,指向正则表达式中第n个匹配的字符串
  • (?:x) 匹配x但不会捕获,用于匹配多个字符的字符串,效率比捕获模式高
5、断言
  • x(?=y) 只匹配后面紧跟y的x,不包含y
  • x(?!y) 只匹配后面没有y的x,不包含y
  • (?<=y)x 只匹配前面是y的x, 不包含y
  • (?<!y)x 只匹配前面没有y的x,不包含y
6、实例属性
  • source 正则对象的源模式文本
  • lastIndex 下次开始匹配的字符串索引位置
  • global 是否开启全局匹配
  • multiline 是否开启多行匹配
  • ignoreCase 是否开启忽略大小写
  • sticky 是否开启粘滞模式
7、实例方法
  • exec() 在目标字符串中执行一次匹配操作
  • test() 测试当前正则是否能匹配目标字符串
  • toSource()
  • toString()返回字面量字符串

参考文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/RegExp

以上是关于JavaScript正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

Javascript正则表达式

javascript正则表达式

用于 Javascript 正则表达式和数字的 Javascript 正则表达式

Swift 将 javascript 正则表达式转换为 ios 正则表达式

javaScript正则表达式精华

javascript:正则表达式一个表单验证的例子