● 普通字符:普通字符按照字面意义进行匹配,例如匹配字母 "a" 将匹配到文本中的 "a" 字符。
● 元字符:元字符具有特殊的含义,例如 \d 匹配任意数字字符,\w 匹配任意字母数字字符,. 匹配任意字符(除了换行符)等。
元字符是正则表达式中具有特殊意义的字符,用于构建复杂的匹配模式。以下是常见的元字符及其作用:
- .(点):
● 匹配除换行符以外的任何单个字符。 - ^(脱字符):
● 匹配字符串的开头。 - $(美元符):
● 匹配字符串的结尾。 - *(星号):
● 匹配前一个字符零次或多次。 - +(加号):
● 匹配前一个字符一次或多次。 - ?(问号):
● 匹配前一个字符零次或一次。 - |(竖线):
● 表示“或”操作,匹配符号两边的任意一个模式。 - ()(圆括号):
● 用于分组和捕获匹配的子字符串。 - [](方括号):
● 用于定义字符类,匹配方括号内的任意一个字符。 - {}(花括号):
● 用于指定前一个字符的出现次数。例如,{n}、{n,}、{n,m}。 - \(反斜杠):
● 用于转义元字符,使其作为普通字符使用,也用于表示预定义字符类和一些特殊的元字符。 - \b(单词边界):
● 匹配单词边界,也就是指单词和空格间的位置。 - \B(非单词边界):
● 匹配非单词边界。 - \d(数字):
● 匹配任何数字字符,相当于[0-9]。 - \D(非数字):
● 匹配任何非数字字符,相当于[^0-9]。 - \w(单词字符):
● 匹配任何字母、数字或下划线字符,相当于[a-zA-Z0-9_]。 - \W(非单词字符):
● 匹配任何非字母、数字或下划线字符,相当于[^a-zA-Z0-9_]。 - \s(空白字符):
● 匹配任何空白字符,包括空格( )、制表符(水平:\t=\x0c 和 \cL;垂直:\v= \x0b 和 \cK)、换页符(\f)、换行符(\n)、回车符(\r)。相当于[ \t\v\f\n\r] - \S(非空白字符):
● 匹配任何非空白字符。
这些元字符的组合使用可以构建出功能强大的正则表达式,用于各种复杂的文本匹配和处理任务。