如果查看百度百科,你会看到关于正则表达式的起源等类似官方语言的介绍。但是,我不打算用这种正式的语言来介绍正则表达式。我试图通过比较简单容易理解的语言来帮助刚接触正则的朋友快速入门!
所谓正则,简单的来说就是通过各种符号来匹配相对应的文本,以方便我们快速找到自己所需要的内容!正则表达式不是易语言独有,前面说了正则是用特定符号匹配出特定的文本。所以,一般的语言都会有正则表达式,例如php,JavaScript等。
这样来理解的话,正则就很容易理解了,如果要学习的话,就要理解正则的符号的含义,只有理解了符号特定的含义,才能将符号组合表达出来!
一个经常使用的字符列表
. | 点号 | 匹配任何单个字符(注:点号在字符组内不算元字符) |
* | 星号 | 表示之前的元素出现任意次数或0次 |
? | 问号 | 前面元素出现0次或1次 |
+ | 加号 | 前面元素出现1次以上 |
- | 连字符 | 注意:只有连字符在字符组内部时,并且出现在两个字符之间时,才能表示字符的范围; 如果出现在字符组的开头,则只能表示连字符本身 |
^ | 脱字符 | 表示开头。注意:^在字符组的头部,将转换成排除型字符 |
$ | 美元符 | 表示结尾。 |
\ | 转义符 | |
[ ] | 字符组 | 范围描述符。[a-z]表示从a到z之间的任意一个。 |
\w | 英文字母和数字。即[0-9 A-Z a-z]。 | |
\W | 非英文字母和数字 | |
\s | 空字符,即[\t\n\r\f]。 | |
\S | 非空字符。 | |
\d | 数字,即[0-9]。 | |
\D | 非数字。 | |
\b | 词边界字符(在范围描述符外部时),表示为单词的分界符 | |
\B | 非词边界字符 | |
\t | 制表符 | |
{n} | 前面的元素字符出现n次 | |
{m,n} | 前面的元素最少出现m次,最多出现n次 | |
| | 选择符 | |
( ) | 群组,子表达式 | |
点号.的使用
下面我们用点号.来查找下面源码文本里面的“玖玖动力”
星号*的使用
还是用什么的源码文本,查找“玖玖动力”
用这种方法匹配出来的结果是一样的。
后面的问号?和加号+的使用方法跟上面的都是一样,只是代表的次数不一样,大家注意看下就行,这里就不对这两个一一做演示了!
下面简单的对连字符“-”做个演示:
上面是匹配出1到9的数字.
脱字符^和美元符$的使用
^表示开头,如果在字符组头部,就表示排除字符。
美元符$表示结尾!
下面简单对这两个字符做个演示:
字符组的和字符组的简记法的理解
[]这个符号就是表示字符组,内部用连字符-连接,表示范围。那么字符组的简记法\w,\d等这种写法就是字符组的简记法。
例如\d就是表示数字,也就是[0-9]
这个大家理解下含义就可以了,使用的时候明白了含义使用起来也很简单!
()群组,表达式的使用
<title>易语言正则表达式快速入门 - 玖玖动力 -QQ:7777777</title>
以这个文本举例,取出里面的QQ:777777
先新建文本常量
然后我们来写下面代码
最后,我们来调试输出看看结果
完美的匹配出了我们想要的结果了!
子表达式(),一个表达式里面可能有多个子表达式或者说群组,这个时候需要从左往右计数,依次计算索引!
到现在基本已经入门了正则表达式,对表达式有个很好的理解了,也可以满足一般所需!
原文链接:https://www.cnblogs.com/jiujiudongli/p/4287686.html