正则表达式是一种用来匹配字符串的模式。它是由特定字符和元字符组成的语言,被用来描述、查找和匹配一系列的字符。下面是一些正则表达式的语法:
1. 字符匹配
- 普通字符:直接匹配对应的字符。
- 特殊字符:需要使用反斜杠\来转义。例如:\., \?, \+,\d(匹配数字等)等。
2. 元字符
- 量词元字符:表示出现次数,例如:* 表示重复零次或更多次;? 表示重复零次或一次;+ 表示重复一次或更多次;{m,n} 表示重复m次到n次。
- 边界元字符:表示匹配的位置,例如:^ 表示字符串的开始;$ 表示字符串的结束。
- 组合元字符:表示要匹配的字符是由多个子表达式组合而成的。例如:[] 表示匹配方括号中的任意一个字符或字符范围;() 表示分组,可以使用|实现或操作,例如:(a|b) 表示匹配a或b。
- 转义元字符:从正则语法的角度看与普通字符相同,但实际含义为正则语法中配合实现特殊功能的字符。例如:\s 表示空白字符;\w 表示单词字符(字母、数字和下划线)。
3. 多行匹配
- m修饰符:表示多行模式匹配。在多行模式中,^和$可以匹配行的开头和结尾,而不是字符串的开头和结尾。
4. 忽略大小写
- i修饰符:表示忽略大小写匹配。
除了上述的基础语法外,正则表达式还有很多高级的功能,例如前向肯定预查、后向零宽环视、捕获等,可以实现更为复杂的字符串匹配需求。