我们先不解释什么是“正则表达式”,因为在本来就不明白的情况下,再去看一些专业的解释,会更加不明白。
所以我们先来描述一个小场景,看完这个场景,你就能明白什么是“正则表达式”。
首先,我们在桌面上创建一个txt文本文件,将这个给文件命名为“正则.txt”,如下:
文件创建完毕后,双击此文件即可使用windows中的“记事本”打开此文件,文件内容如下图所示:
可以看到,文件中有3行文本,假设,此时我们想要在文本中搜索“hello”这个词,我们改怎么办呢?
没错,按下快捷键“Ctrl+F”,即可在“记事本”中搜索“hello”字符串,如下:
但是现在需求变了。
我们刚才的需求就是:“找到文本中位于行首的hello字符串”
让你搜索,你会怎么做?
没错,我们需要有一种方法,这种方法能够告诉计算机,只查找“位于行首的hello字符串”
这个时候,就需要依靠“正则表达式”了,“正则表达式”可以帮助我们实现这样的功能,但是,由于windows记事本并不支持“正则表达式”,所以,我们无法通过“记事本”完成上述需求,我们只能安装其他程序,并且这个程序必须支持“正则表达式”,此处,我们安装“sublime text”或者“notepad++”,它们是windows下比较常用的、流行的文本编辑器,此处以“sublime text”为例,使用“sublime text”打开示例中使用的文本文件,如下图所示:
同样,在“sublime text”中使用快捷键“ctrl+F”,可以搜索hello字符串,如下图所示:
如上图所示,3个hello字符串都能被搜索到。
那么,回归到刚才的话题,我们怎样才能只搜索“位于行首的hello字符串”呢?方法如下:
首先,点击下图中红线标注部分的按钮,这个按钮被选择后,“sublime text ”才会以“正则表达式”模式工作:
查找结果如下图所示,只有位于行首的hello被匹配到了。
我们可以把上列中的“^hello”理解为“正则表达式”,这个“正则表达式”想要表达的意思就是“位于行首的hello字符串”。
到目前为止,我们已经初步的接触到了“正则表达式”,但是我们还没有解释过“正则表达式”。
现在,回过头来,在看看什么是正则表达式。
如下描述引用自百度百科:
- 正则表达式,又称规则表达式
- 正则表达式的英语原文为:Regular Expression,常简写为regex、regexp或RE,正则表达式是计 算 机科学的一个概念。
- 正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
那么现在,你对“正则表达式”应该有了初步的概念了吧。
在啰嗦一遍,“正则”就是“规则”,“正则表达式”就是能够让我们表达出自己想法的规则,只要学会了这种规则,我们就能够表达自己的想法。
好了,“正则扫盲阶段”完成。
其实,只要你自己理解了什么是正则,再去学习正则就很快了,怕就怕,你从心里觉得自己不会,那样就没办法继续了。
作者微信公众号
评论前必须 ☞☞ 登录/注册 !