一、什么是正则表达式
正则表达式是一种匹配模式,描述 一串文本的特征
二、字符串的组成
对于字符串“a5”,是由两个字符“a”、“5”以及三个位置组成的,这一点对于正则表达式的匹配原理理解很重要
三、正则表达式的组成
1、正则表达式的组成:
正则表达式一般有三个部分组成(有的语言是两个部分):
(1)定界符:将模式表达式放于其中(有的语言没有这个分隔符)。分隔符可以用除数字、字母、下划线、空白以外的任何字符来表示,如常用的/和#;
(2)表达式:正则主体部分,其内容有两种字符构成,一种是普通字符如字母、数字、下划线、标点符号、汉字等;另外一种是在正则表达式中有特殊意义的字符称作元字符。
(3)模式修正符:对模式表达式的某项功能进行关闭或开启的功能。如i;
2、正则匹配的分类:
(1)占有字符:正则表达式匹配过程中,如果子表达式匹配到的是字符内容,而非位置,并被保存到最终的匹配结果中,那么就认为这个子表达式是占有字符的;
(2)零宽度 :如果子表达式匹配的仅仅是位置,或者匹配的内容并不保存到最终的匹配结果中,那么就认为这个子表达式是零宽度的。
注:占有字符还是零宽度,是针对匹配的内容是否保存到最终的匹配结果中而言的。
占有字符是互斥的,零宽度是非互斥的。也就是一个字符,同一时间只能由一个子表达式匹配,而一个位置,却可以同时由多个零宽度的子表达式匹配。