什么事子表达式:'()' 代表一个子表达式,将其中的内容视为一个整体进行处理。
子表达式是一个大的表达式的一部分,把一个表达式划分为多个子表达式的目的是为了把那些子表达式当作一个独立的元素来使用。子表达式必须用(和)括起来。
子表达式中可以嵌套子表达式,理论上可以无限嵌套。
子表达式中可以嵌套中表达式,将嵌套的所有中表达式作为一个整体进行匹配,同时满所有中表达式条件即为匹配成功。
什么是中表达式:'[]' 代表一个中表达式,将其中内容于字符串中每一个字符进行匹配,匹配条件为 '[]' 中的内容。
中表达式中可以嵌套子表达式,将嵌套的子表达式作为条件进行匹配,满足任意一个子表达式中的条件即为匹配成功。
什么是大表达式:'{}' 代表一个大表达式,将其中内容于字符串进行匹配,用于长度匹配
'{a,b}' 取前方一个子表达式(或一个字符)。当出现第 a 此后,开始从第一次出现的位置匹配,每次匹配长度为 b
'{a,}' 取前方一个子表达式(或一个字符)。当出现第 a 此后,开始从第一次出现的位置匹配,每次匹配至不满足条件
'{a}' 取前方一个子表达式(或一个字符)。当出现第 a 此后,开始从第一次出现的位置匹配,每次匹配长度为 a
子表达式的捕获:
(1) 叫一个捕获
(2)(3) 叫两个捕获,分1,2
((1)2)也叫两个捕获,里层为第一个捕获,外层为第二个捕获
捕获的内容存放在缓存中,
用符号 1, 2来表示捕获
作用:就是为了重复使用捕获
例如:/(a)1*/ 表示一个a,多个a