Regex是什么?能干什么?
正则表达式regular expression,简称为regex。
正则表达式可以进行搜索和查找。也可以实现相对困难的查找,比如查找cat,而对Acat进行忽略,来保证正确性。
正则表达式最厉害的体现在替换操作上。
比如可以将一端网址https:xxx.com.cn 替换成<a href="https:xxx.com.cn">https:xxx.com.cn</a>
正则表达式怎么使用?
通过一些语法,以及一些符号,相互配合使用,可以来实现各种查找和替换的"Amazing"操作。
❗️❗️❗️要注意,虽然大多数编程语言目前都支持正则表达式,但是不同语言使用正则表达式的语法和功能还是有些区别,需要针对自己的使用的情况,来进行相应的搜索和查找。
本系列主要介绍正则表达式的通用语法和通用思想,这样在使用不同编程语言,以及在查阅资料时,可以看懂正则表达式的含义,从而可以根据自己的需求,来自定义各种正则表达式。
开篇介绍匹配单个字符、任意字符、以及一组字符的语法,每个用法对应测试过的图片,来方便学习和使用。
1.匹配单个字符
匹配纯文本
正则表达式可以直接包含纯文本来进行查找。
例如正则表达式代码 cat
,可以直接匹配出 cat、category。下图的测试结果显示,匹配出了多个结果。
字母大小写问题
正则表达式区分大小写,但是也提供了一种机制来强制执行一次不区分字母小写的搜索,具体使用根据使用的语言来进行资料的查找。
2.匹配任意字符
.字符匹配任何一个单个字符
由测试结果显示,cat.
匹配到了cat开头的四组结果。
特殊:正则表达式代码中要匹配 .
字符
使用 \
来进行转义处理。
图中显示,匹配到了 cat.
结果。
3.匹配一组字符
使用 [
、 ]
组成的字符集合,来匹配一组字符。
由图中测试结果显示,可以匹配到字符组中表示的1、空格、.
相关的 cat.
、cat
、cat1
结果。
3.1字符区间
在字符集中,使用 -
连字符来简化表示字符集的区间。
例如:
[1-9]
表示 [123456789]
[A-Z]
表示 从A到Z的所有大写字母
[a-z]
表示 从A到Z的所有小写字母
[A-z]
表示 从A到z的所有ASCII字符,这里面还包括在Z和a之间的字符,一般不常用。
注意:
-
连字符只能在 [
、 ]
组成的字符集合中使用,在其他地方,可以直接作为一个普通字符来进行匹配。
3.2.取非匹配
使用^
字符来对字符集进行取非匹配。
由图中测试结果显示,匹配到了除cat1
在内的所有字符串。
「参考」
《正则表达式必知必会》