You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
只想要括号最原始的功能,但不会引用它,即,既不在 API 里引用,也不在正则里反向引用,此时可以使用非捕获括号 (?:p) 和 (?:p1|p2|p3)
varregex=/(?:ab)+/g;varstring="ababa abbb ababab";console.log(string.match(regex));// => ["abab", "ab", "ababab"]varregex=/^I love (?:JavaScript|Regular Expression)$/;console.log(regex.test("I love JavaScript"));console.log(regex.test("I love Regular Expression"));
位置
正则表达式的位置是指相邻字符之间的位置,也就是锚
6个锚:^、$、\b、\B、(?=p)、(?!p)
测试:
括号
括号两大作用:分组和分支结构
分支:多选分支结构 (p1|p2) 中,提供了分支表达式的所有可能
分组引用:可以用于数据提取以及替换操作,分组后面有量词的话,分组最终捕获到的数据是最后一次的匹配
示例:
数据提取
反向引用
反向引用,是引用前面的分组,正则里引用了不存在的分组时,此时正则不会报错,只是匹配 反向引用的字符本身。
非捕获括号
只想要括号最原始的功能,但不会引用它,即,既不在 API 里引用,也不在正则里反向引用,此时可以使用非捕获括号 (?:p) 和 (?:p1|p2|p3)
示例:
The text was updated successfully, but these errors were encountered: