标签:exe fat res bat 次数 第一个 || 正则表达 使用
描述字符模式的对象
var expression = /pattern/flags
// pattern 需要匹配的字符串模式
// flags 修饰符
var expression = new RegExp('[bc]at','i')
// 两个参数格式都是字符串。
注意
正则表达式中的特殊符号
//元字符
^ $ / \ ? | . * + () [] {} ! :
// 匹配 spiderMan
let reg1 = /.piderMan/
// 匹配 .spiderMan
let reg2 = /\.spiderMan/
正则表达式的模式规则是由一个字符序列组成的。包括所有的字母和数字在内,绝大多数字符都是按照直接量仅描述待匹配的字符的。但对于一些具有特殊语义的字符,并不会按照字面意义去匹配。例如^ $,分别用来对应字符串的开始和结束。
重复性
正则表达式中某元素的重复次数
贪婪性的重复。匹配重复的字符尽可能多的匹配字符,而且允许后续的正则表达式继续匹配。
非贪婪性重复。在待匹配的字符后面跟着一个?,正则便会尽量少的匹配字符。
```js
// 贪婪匹配
let reg2 = /\d+/
let str2 = ‘123abc‘
let result2 = reg2.exec(str2) // 123
// 非贪婪匹配
let reg3 = /\d+?/
let str3 = ‘123abc‘
let result3 = reg3.exec(str3) // 1
let reg = /green|red/
let str = 'apple green'
let result = reg.exec(str); // green
从左到右匹配,直到发现了匹配项。如果符号左边的匹配项被匹配,则会自动忽略右边的匹配项。及时它右边的也会匹配。
// 匹配 spider || spiderMan
let reg = /(spider)?Man/
// 可获取圆括号中子表达式的子串
let reg = /(\w+)\s(\w+)/
let str = 'spider Man'
let result = reg.exec(str)
// 获取执行中的引用
let reg = /(\w+)\s(\w+)\s\1/
var str = 'spider Man spider'
let result = reg.exec(str)
// 获取执行过后引用
let reg2 = /(\w+)\s(\w+)/
var str2 = 'spider Man spider'
let replaceStr = str2.replace(reg2,'$2 $1')
如果不想让组表达式产生引用。可以用 (?:) 来进行分组。js let reg = /(?:\w+)\s(\w+)\s\1/ var str = ‘spider Man Man‘ let result = reg.exec(str)
对匹配的规则进行说明
let text2 = 'cat, bat, sat, fat'
let pattern2 = /.at/g
let result1 = pattern2.exec(text2)
let result2 = pattern2.exec(text2)
console.log(result1);
console.log(result2);
console.log(pattern2.lastIndex)
let re = /man/i
let str = 'spider man'
let result = str.search(re) // 7
标签:exe fat res bat 次数 第一个 || 正则表达 使用
原文地址:https://www.cnblogs.com/shenggao/p/12331108.html