原文链接: https://www.cnblogs.com/yalong/p/14101587.html
// To match "cat", "BAT", "fAT", "mat" const regexWithWildcard = /.at/gi; const testString = "bbcat BAT cupcake fAT mat dog"; const allMatchingWords = testString.match(regexWithWildcard); // ["cat", "BAT", "fAT", "mat"]
const zeroOrMoreOsRegex = /hi*/gi; const normalHi = "hi"; const happyHi = "hiiiiii"; const twoHis = "hiihii"; const bye = "bye"; normalHi.match(zeroOrMoreOsRegex); // ["hi"] happyHi.match(zeroOrMoreOsRegex); // ["hiiiiii"] twoHis.match(zeroOrMoreOsRegex); // ["hii", "hii"] bye.match(zeroOrMoreOsRegex); // null
const oneOrMoreAsRegex = /a+/gi; const oneOrMoreSsRegex = /s+/gi; const cityInFlorida = "Tallahassee"; cityInFlorida.match(oneOrMoreAsRegex); // [‘a‘, ‘a‘, ‘a‘]; cityInFlorida.match(oneOrMoreSsRegex); // [‘ss‘];
const testString = "catastrophe"; const greedyRexex = /c[a-z]*t/gi; const lazyRegex = /c[a-z]*?t/gi; testString.match(greedyRexex); // ["catast"] testString.match(lazyRegex); // ["cat"]
var str=‘abcdabceba‘
/.+b/ 匹配一个或多个任意字符后面跟一个字母b
执行str.match(/.+b/) // 匹配到 abcdabceb
第一次(先看整个字符串是否是一个匹配) abcdabceba 不匹配,然后去掉最后一个字符a
第二次(去掉最后一个字符后再匹配) abcdabceb 匹配,返回abcdabceb。
var str=‘abcdabceba‘
/.+?b/ 匹配一个或多个任意字符后面跟一个字母b
执行str.match(/.+?b/) // 匹配到ab
第一次(读入左侧第一个字符) a 不匹配加一个再式
第二次 ab 匹配,返回ab
var str = ‘aaa<div style="font-color:red;">123456</div>bbb‘ // <.+?>会匹配<div style="font-color:red;"> // <.+>会匹配<div style="font-color:red;">123456</div> console.log(str.match(/<.+?>/)[0]) // 输出为: <div style="font-color:red;"> console.log(str.match(/<.+>/)[0]) // 输出为: <div style="font-color:red;">123456</div>
let str = ‘hello {{ text }}-{{err}}look me!‘ str.split(/({{.+?}})/g) //输出为: ["hello ", "{{ text }}", "-", "{{err}}", "look me!"] let str2 = ‘hello {{ text }}-{{err}}look me!‘ str2.split(/({{.+}})/g) // 输出为: ["hello ", "{{ text }}-{{err}}", "look me!"]
原文:https://www.cnblogs.com/yalong/p/14101587.html