js正则表达式工具完整官方版:重温js正则表达式
js正则表达式工具完整官方版:重温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#使用特殊字符