正则表达式完全指南:特殊字符与限定符解析

需积分: 10 4 下载量 83 浏览量 更新于2024-09-08 收藏 230KB PDF 举报
"正则表达式速记" 正则表达式是编程中用于处理文本的强大工具,它允许我们创建复杂的模式来匹配、查找、替换或提取字符串中的特定部分。正则表达式通常由一系列普通字符和特殊字符(元字符)组成,它们共同定义了一个搜索模式。以下是正则表达式的几个关键概念和特殊字符: 1. **特殊字符**: - `$`:匹配输入字符串的结尾,设置`Multiline`属性后,也可以匹配`\n`或`\r`的末尾。 - `(` 和 `)`:标记子表达式的开始和结束,用于分组和捕获。 - `*`:匹配前面的子表达式零次或多次,等价于`{0,}`。 - `+`:匹配前面的子表达式一次或多次,等价于`{1,}`。 - `.`:匹配除换行符之外的任何单个字符。 - `[` 和 `]`:定义字符集,表示匹配其中任意一个字符。 - `?`:匹配前面的子表达式零次或一次,等价于`{0,1}`,也可用作非贪婪限定符。 - `\`:转义字符,用于使特殊字符变为普通字符或表示特殊含义。 - `^`:匹配输入字符串的开始,如果在字符集中,则表示排除该字符。 - `{}`:用于定义重复次数,如`{n}`表示重复n次,`{n,}`表示至少n次,`{n,m}`表示n到m次。 2. **非打印字符**: - `\t`:制表符(\x09\cI) - `\n`:换行符(\x0a\cJ) - `\v`:垂直制表符(\x0b\cK) - `\f`:换页符(\x0c\cL) - `\r`:回车符(\x0d\cM) - `\s`:匹配任何空白字符,包括空格、制表符、换页符等([\t\n\f\v\r]) - `\S`:匹配任何非空白字符([^\t\n\f\v\r]) 3. **限定符**: - `*`、`+` 和 `?` 都是贪婪的,意味着它们会尽可能多的匹配字符,但可以添加`?`使其变为非贪婪,进行最小匹配。 - `{n}`:匹配前面的子表达式n次。 - `{n,}`:匹配前面的子表达式至少n次。 - `{n,m}`:匹配前面的子表达式n到m次。 4. **定位符**: - `\b`:匹配一个字边界,即单词和空格之间的位置。 - `\B`:非字边界匹配,表示不在字边界处匹配。 5. **反向引用**和**圆括号**: - 圆括号可以用来捕获和存储子表达式,以便在表达式中引用,如`\1`、`\2`等,称为反向引用。 6. **其他特殊字符**: - `|`:表示选择,匹配其前后任意一项。 掌握这些基础知识,可以帮助你在处理字符串时更有效地编写正则表达式,实现对文本的精确匹配和操作。正则表达式的强大之处在于它的灵活性和表达能力,能够处理各种复杂的文本模式,但同时也需要一定的学习和实践才能熟练运用。