你好呀,我是阿德。
正则表达式是在程序或命令行中查找和替换文本的强大工具。熟悉最常见的正则表达式符号,以及如何使用它们,对于程序员来说是必不可少的技能。
正则表达式是在搜索中需要匹配的特殊字符串,使用范围很广,比如Java、Python 等编程语言,grep、sed 等命令行,还有 VSCode、Vim等编辑器。
学习正则表达式的唯一方法就是 learning by doing。
正则表达式的规则太多了,学会后不怎么用就又忘了,介绍各种规则前先分享给你一张图,
强烈建议你点赞收藏,然后每天看一眼,肯定记得比谁都牢。
01 字符位置
你可以根据文本的位置来进行定位。比如你要搜索某个单词,但前提是该单词是一行中的第一个。或者你可能只想查找某个字母系列,但前提是它们出现在单词的末尾。
02 字符类别
搜索文本时,仅根据字符分类来选择字符会很有用。字符的基本类别是数字和字母和其他字符(例如空格和标点符号)。
03 字符数量
匹配字符的数量,例如你可以精确匹配六个空格,或定位长度在四到八位之间的数字字符串。
04 字符集和字符范围
字符集是符合搜索条件的字符的列表,通过将一组字符括在方括号([和])中来指示字符集。
字符范围是字符集的一种,它在字符之间使用 - 来暗示它们之间的整个字符范围,以及开始和结束字符本身。
字符范围可以进行拼接,比如 [a-zA-Z0-9_] 就是匹配任意单个字母或数字。
字符范围也可以使用数量字符,比如 [a-z]* 就可以匹配 hello, world 这样的单词。
最后说一下,如果想匹配正则表达式中的特殊字符,比如 \, ^, *, {, [ 等,因为它们有特殊含义,所以需要另外加 \ 来表示,比如 \* 表示 *,\\ 表示 \。
再最后说一下,在线正则表达式的网站有很多,我推荐我常用的一个:https://regex101.com/
除了常用的支持不同语言的正则表达式解析外,里面有个社区,其中很多关于正则表达式的讨论,还有正则表达式的测试题,通过做题来学习,让自己对正则表达式更加熟练。
最厉害的是,它会对你的正则表达式进行解析说明,让你更容易看懂一长串正则表达式。
比如匹配指定格式的日期:^\d{4}-\d{1,2}-\d{1,2},看不懂没关系,这个网页提供了详细说
正则表达式的介绍就到这里啦,学习过程似乎挺枯燥的,但是使用范围是相当广的,而且这个也不难,耐心一点,加油~
作者简介
我是阿德,一名五年工作经验的软件开发工程师,985高校非科班程序员,热爱编程与开源,
此公众号【程序员阿德】专注于分享各种计算机干货,包括但不限于计算机组成原理、数据结构与算法、计算机网络、操作系统、数据库、Linux等。
相信你能够在这里有所收获,精进为一名优秀程序员,我们一起加油~
更多硬核技术和编程干货,可以关注公众号 [程序员阿德] 获取