正则表达式高级概念
1、组:(?:)非捕获组,(?<name>)命名组,
2、反向引用:\groupNumber,\k<groupName>
3、正声明:(?=),括号中的模式必须出现在声明的右侧,模式不构成最后匹配的一部分;负声明:(?!),括号中的模式不能出现在声明的右侧,模式不构成最后匹配的一部分;
反向正声明:(?<=),括号中的模式必须出现在声明的左侧,模式不构成最后匹配的一部分;反向负声明:(?<!),括号中的模式不能出现在声明的左侧,模式不构成最后匹配的一部分;
这些只是声明,而不是分组。
4、在正则表达式中做决策:(?(expression)yes|no);:(?(?=expression)yes|no);如果匹配了expression,那么正则表达式将匹配yes,否则将匹配no;代表了yes和no的正则表达式将从expression相同位置开始匹配。
5、在正则表达式中设置选项:(?i:[a-z]);删除一个选项:(?-i:[a-z]);N:ExplicitCapture;I:IgnoreCase;X:IgnorePatternWhitespace;M:MultiLine;S:SingleLine;

浙公网安备 33010602011771号