博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符转译序列
阅读量:4050 次
发布时间:2019-05-25

本文共 1324 字,大约阅读时间需要 4 分钟。

-- Start

我们已经学习了好多正则表达式元字符,它们在正则表达式中有特殊的意义,而丧失了它们本来的意义。有时候我们只想匹配它本身,该怎么办呢? 如:我想匹配点号,可是在正则表达式中,点号代表任意单个字符,这时候我们只需要在点号的前面加反斜杠就 OK 了,如下:

\.
我们把这种形式称为转义。我们可以在任何元字符的前面加上反斜杠来匹配它自己。

大家知道回车和换行的区别吗? 啊? 他俩有区别吗? 如果你没搞清楚它们之间的区别, 去看看吧。

假设现在有个文件,其中有好多空行,你想把连续多个空行替换成一个空行, 该怎么办? 在 EmEditor 中Ctrl+H 调出Replace对话框,在Find中输入\r\n\r\n,在 Replace With 中输入\r\n,然后狂点Replace Al l就搞定了。其中的\r 代表回车, \n代表换行, 怎么样,简单吧。

如果你有一个用逗号分隔的文件,想把它导入到 Excel 中看一下,该怎么办呢? 很简单,我们可以使用Excel自带的数据导入向导。除此之外,我们可以把逗号替换成tab符,然后把文件中的所有内容copy到Excel中就可以了。好,我们来实际操作一下,在 EmEditor 中Ctrl+H 调出Replace对话框,在Find中输入逗号(,),在 Replace With 中输入tab符,可是当你按tab键的时候发现光标被挪到其他地方了,根本就无法输入,该怎么办呢?一种办法是在文件中输入一个tab符,然后把这个tab符复制粘贴到Replace With中,第二种办法就是使用字符转义\t。

恭喜你,你又学会了3个元字符(从严格意义上讲,\r \n \t 并不是正则表达式元字符,而是字符转义,为了便于大家理解,你可以把它们当做元字符看待)。

元字符 名称 匹配对象
. 点号(dot) 单个任意字符
\n 换行(newline) 换行
\r 回车(return) 回车
\t 制表符(Tab) 制表符
[...] 字符组(Character Class) 列出的任意字符
[^...] 排除型字符组(Negated Character Class) 未列出的任意字符
^ 脱字符(caret) 行的起始位置
$ 美元符(dollar) 行的结束位置
\<   单词的起始位置
\>   单词的结束位置
\b 边界(Boundary) 单词边界
\B   非单词边界
(?=...) 肯定顺序环视(Positive Lookahead) 成功如果右边能够匹配
(?!...) 否定顺序环视(Negative Lookahead) 成功如果右边不能够匹配
(?<=...) 肯定逆序环视(Positive Lookbehind) 成功如果左边能够匹配
(?<!...) 否定逆序环视(Negative Lookbehind) 成功如果左边不能够匹配
| 竖线(bar) 匹配分割两边的任意一个表达式

---更多参见:

-- 声 明:转载请注明出处
-- Last Updated on 2012-05-12
-- Written by ShangBo on 2012-04-23
-- End

你可能感兴趣的文章
opencv学习——在MFC中读取和显示图像
查看>>
C/C++中关于动态生成一维数组和二维数组的学习
查看>>
JVM最简生存指南
查看>>
JVM并发机制探讨—内存模型、内存可见性和指令重排序
查看>>
持续可用与CAP理论 – 一个系统开发者的观点
查看>>
nginx+tomcat+memcached (msm)实现 session同步复制
查看>>
c++字符数组和字符指针区别以及str***函数
查看>>
c++类的操作符重载注意事项
查看>>
c++模板与泛型编程
查看>>
WAV文件解析
查看>>
WPF中PATH使用AI导出SVG的方法
查看>>
WPF UI&控件免费开源库
查看>>
QT打开项目提示no valid settings file could be found
查看>>
Win10+VS+ESP32环境搭建
查看>>
android 代码实现圆角
查看>>
flutter-解析json
查看>>
android中shader的使用
查看>>
java LinkedList与ArrayList迭代器遍历和for遍历对比
查看>>
drat中构造方法
查看>>
JavaScript的一些基础-数据类型
查看>>