notepad++的搜索功能
notepad 的搜索功能(正则表达式)
我们知道notepad 是一个非常强大的编辑器,相信同学们一定是装机必备的一个工具。它对文本的编辑和查看有着非常友好的支持能力,对较大文件的处理也非常的不错。例如,我们系统运行的过程中生成的文本格式的日志,它通常是一个比较大的文件,一般我们可以使用notepad 快速打开日志文件。不过,对于日志文件来说,里面会记录各种来个不同地方的信息,比如,各种服务,各种进程,各种线程,各种模块等等。在我们分析日志文件是,有时要快速定位到问题或者某个相关模块的问题,就需要用到它的搜索功能,我们需要匹配特定的关键字进行搜索有用信息,查看相关的日志内容。关于notepad 搜索功能,直接快捷键Ctrl F就可以直接调出搜索窗口了。
看到这里你一定会觉得这个有什么好学习的呀!哈哈,没错,上面这些内容大家都是知道的常识。不过,从上面的图上大家可以发现,notepad 支持三种搜索模式:
- 正常模式
- 扩展模式
- 正则表达式模式
notepad 的正则表达模式,就像他的名字一样,这个模式支持使用正则表达式搜索,当我们熟悉了正则表达式的使用后,相信你就会爱上使用notepad 的这个功能。
常用表达式
下面列出了一些常用的正则表达式匹配符号,便于各位同学查找和学习。
字符 | 说明 |
---|---|
. |
匹配任意一个字符 |
* |
匹配前面的字符0或多次,比如,ab* 匹配“a”,“ab”或“abb” |
|
匹配前面的字符1次或多次,比如,ab 匹配“ab”或“abb”,但不匹配“a” |
? |
匹配前面的字符0或者1次,比如,ab? 匹配“a”或“ab”,但不匹配“abb” |
{n} |
匹配前面的字符或分组 n 次,比如,ab{2}c 匹配 “abbc”. |
{m,n} |
匹配前面的字符或分组,最少m次,最多n次(若n为空,则代表任意次),比如,ab{2,3}c 匹配 “abbc” 或 “abbbc” |
^ |
右侧的表达式匹配在一行的开始,比如,^a 匹配以“a”开头的行 |
$ |
左侧的表达式被匹配在一行的结尾,比如,z$ 匹配以“z"结尾的行 |
[] |
匹配列表中任意单个字符,比如,[ab] 匹配“a”或“b”;[0-9] 匹配任意单个0-9的数字 |
[^] |
匹配列表外任意单个字符,比如,[^ab] 匹配“a”和“b”以外的单个字符 |
\w |
匹配单个字符,包括下划线,相当于[A-Za-z0-9_] |
\W |
匹配非单个字符,相当于[^A-Za-z0-9_] |
\d |
匹配数字字符,相当于[0-9] |
\D |
匹配非数字字符,相当于[^0-9] |
\b |
匹配单词边界(开头或结尾),比如,\bhe 匹配“hello”,但不匹配“ahello” |
\B |
匹配非单词边界 |
| |
或运算符,匹配左边或者右边的表达式 |
\s |
匹配空白格 |
\S |
匹配非空白格 |
\\ |
匹配字符\ |
\t |
匹配Tab制表符 |
\r |
匹配回车符号 |
\n |
匹配换行符号 |
\r\n |
匹配回车换行 |
标记和分组
上面的符号是对一个字符或重复一个字符的情况,但是,如果是多个字符怎么办呢?我们就需要用到分组了,关于分组可以使用小括号()
来指定分组表达式,例如:(abc)?
表示匹配0个或1个abc, 这里一个括号的表达式就是一个分组 。分组可以分为两种形式,捕获组和非捕获组。捕获组可以通过从左到右计算其开括号来编号;而非捕获组是以 (?) 开头的组,它不捕获文本。
字符 | 说明 |
---|---|
(…) |
一组捕获. 可以通过\1 访问第一个组, \2 访问第二个. |
(?:…) |
非捕获组. |
(?=…) |
非捕获组 – 向前断言. 例如(.*)(?=ton) 表达式,当 遇到’Appleton’字符串时,会匹配为’Apple’. |
(?<=…) |
非捕获组 – 向后断言. 例如(?<=sir) (.*) 表示式,当遇到’sir William’ 字符串时,匹配为’ William’. |
(?!…) |
非捕获组 – 消极的向前断言. 例如(?!e) 表达式,当遇到’Apple’时,会找到每个字母除了 ‘l’,因为它紧跟着 ‘e’. |
(?<!...) |
非捕获组 – 消极向后断言. 例如, (?<!sir) (.*)(?=ton) , 当遇到 ‘sir William’ 时,会匹配 ’ William’. |
(?P<name>…) |
命名所捕获的组. 提交一个名称到组中供后续使用,例如(?PA[^\s] )\s(?P=first) 会匹配 ‘Apple Apple’. 类似于 (A[^\s] )\s\1 ,不过使用的是组名而不是数字. |
(?=name) |
匹配名为name的组. |
(?#comment) |
批注 –括号中的内容在匹配时将被忽略。 |
细心的同学一定会发现,除了搜索功能支持正则表达在外,notepad 的替换功能同样也是支持正则表达式的。上面的这些符号在替换中也是同样适用的。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanfgcka
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24