看到这里你一定会觉得这个有什么好学习的呀!哈哈,没错,上面这些内容大家都是知道的常识。不过,从上面的图上大家可以发现,notepad++支持三种搜索模式:
- 正常模式
- 扩展模式
- 正则表达式模式
常用表达式
下面列出了一些常用的正则表达式匹配符号,便于各位同学查找和学习。
字符 | 说明 |
| 匹配任意一个字符 |
| 匹配前面的字符0或多次,比如, |
| 匹配前面的字符1次或多次,比如, |
| 匹配前面的字符0或者1次,比如, |
| 匹配前面的字符或分组 n 次,比如, |
| 匹配前面的字符或分组,最少m次,最多n次(若n为空,则代表任意次),比如, |
| 右侧的表达式匹配在一行的开始,比如, |
| 左侧的表达式被匹配在一行的结尾,比如, |
| 匹配列表中任意单个字符,比如, |
| 匹配列表外任意单个字符,比如, |
| 匹配单个字符,包括下划线,相当于 |
| 匹配非单个字符,相当于 |
| 匹配数字字符,相当于 |
| 匹配非数字字符,相当于 |
| 匹配单词边界(开头或结尾),比如, |
| 匹配非单词边界 |
| 或运算符,匹配左边或者右边的表达式 |
| 匹配空白格 |
| 匹配非空白格 |
| 匹配字符 |
| 匹配Tab制表符 |
| 匹配回车符号 |
| 匹配换行符号 |
| 匹配回车换行 |
标记和分组
上面的符号是对一个字符或重复一个字符的情况,但是,如果是多个字符怎么办呢?我们就需要用到分组了,关于分组可以使用小括号()
来指定分组表达式,例如:(abc)?
表示匹配0个或1个abc, 这里一个括号的表达式就是一个分组 。分组可以分为两种形式,捕获组和非捕获组。捕获组可以通过从左到右计算其开括号来编号;而非捕获组是以 (?) 开头的组,它不捕获文本。
字符 | 说明 |
| 一组捕获. 可以通过 |
| 非捕获组. |
| 非捕获组 – 向前断言. 例如 |
| 非捕获组 – 向后断言. 例如 |
| 非捕获组 – 消极的向前断言. 例如 |
| 非捕获组 – 消极向后断言. 例如, |
| 命名所捕获的组. 提交一个名称到组中供后续使用,例如 |
| 匹配名为name的组. |
| 批注 –括号中的内容在匹配时将被忽略。 |
细心的同学一定会发现,除了搜索功能支持正则表达在外,notepad++的替换功能同样也是支持正则表达式的。上面的这些符号在替换中也是同样适用的。