之前在别人写的瀑布流案例中,发现有这样的正则写法:/<a(?:.|\n|\r|\s)*?a>/gi
对于?: 的正则表示方法没有看到过,一下子蒙了,决定好好补充下正则表达式的知识。
引用维基百科对正则表达式的概念,正则表达式的意思是使用单个字符串来描述、匹配一系列符合某个语句规则的字符串搜索模式。
一、?:pattern
(?:pattern)会作为匹配检验,并出现在匹配字符结果里面,但是跟(...)的区别是,它不作为子匹配返回;
这在使用或字符“(|)”来组合一个模式的各个部分是很有用。例如“industr(?:y|ies)”就是一个比“industry|industries”更简略的表达式。
例1:industry.match(/industr(?:y|ies)/i) // ["industry", index: 0, input: "industry"]
industry.match(/industr(y|ies)/i) // ["industry", "y