重温js——正则表达式

Posted twinkle||cll

tags:

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

正则表达式是一种规则,在语法上各个语言都是一样的,有点是通用性很高,缺点是在平常开发中使用的频率并不是很高,主要使用的范围在用于判断字符串里面的规则。

语法

语法和定义变量一样,有两种:字面量模式构造函数模式

var reg1 = /规则/标志;
var reg2 = new  RegExp('规则','标志');

正则实例成员

  • global : 是否开启了全家匹配

  • ignoreCase: 是否忽略大小写,和上面是一样的都是只读
  • multiline: 是否是多行匹配(只读)
  • source: 当前匹配的规则资源。(只读)

  • lastIndex: 匹配的最后位置,这个对于全局匹配是很有用的。不开启全家匹配是不会有影响的,这个参数不是只读的。

  • test方法: 测试某个字符串是否满足规则

正则表达的匹配模式是贪婪模式,尽量匹配多一点。如果不想使用贪婪模式,在量词后面加上 ,就不会是贪婪模式

  • exec方法: 执行正则匹配,输出匹配的结果。

捕获组

在正则中用小括号包裹的部分,称之为捕获组。

捕获组还可以命名,命名的方式是在小括号里面的前面添加一个 ?<名字>,这种称为具名捕获组。

由于捕获组是会影响效率,有好多时候我们只是需要把括号里面当作一个整体。其实我们是不想要捕获的,使用的方式是 ?:

反向引用

在正则表达式中,使用某个捕获组, \\捕获组编号(捕获的编号可以是名字或者是数字)

正向断言(预查)

检查某个字符串后面的字符是否满足某个规则,该规则不成为捕获的结果。语法是 ?=

负向断言(预查)

检查某个字符串后面的字符是否不满足某个规则,该规则不成为捕获的结果。语法是 ?!

详情查看 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions#%E4%BD%BF%E7%94%A8%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6

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

重温js——函数表达式和this

通过 Java 正则表达式提取 semver 版本字符串的片段

js正则表达式过滤以指定字符开头以指定字符结尾的文本内容

text 正则表达式片段

markdown 正则表达式模式片段

正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性