学习正则表达式之前还是按照3W+H的灵魂式提问来学习即((what)正则表达式是什么?(why)为什么要使用正则表达式?(where)在哪儿可以使用正则表达式?(how)怎么使用正则表达式?)
- 为什么需要正则表达式?
- 文本的复杂处理
- 正则表达式的优势和用途?
- 一种强大而灵活的文本处理工具
- 大部分编程语言、数据库(oracle、mysql)、以及文本编辑器(notepad++)、开发环境(linux、java、JavaScript)都支持正则表达式。
- 正则表达式定义
- 正如它的名字一样描述了一个规则,通过这个规则可以匹配一类字符串。
- 学习正则表达式很大程度上是学习正则表达式的语法规则。
开发中如何使用?
- 分析所要匹配的数据,写出测试用的典型数据。
- 在工具软件中进行匹配测试。
- 在程序中调用通过测试的正则表达式。
工具软件RegexBuddy
这个工具主要分三个部分,一个是test区主要是用于来编写测试数据的,一个是主界面主要是用来编写我们所需要的正则表达式的,另外一个就是我们可以创建多个正则表达式的匹配规则。
- Case sensitive 表示大小写敏感的,也就是区分大小写,默认是区分大小写的,也可以设置成另外一种 Case insensitive(不区分大小写的)。
- match at line breaks 从字面上来看表示是否匹配换行符也就是我们所说的多行模式,每行都是一个字符串且如果使用了多行模式需要仅匹配字符串的开始位置和结束位置可以使用\A和\Z。^ $在单行模式和多行模式下有不同的效果。don not match at line breaks表示单行模式,默认整个文本就是一个字符串。
正则表达式语法(1)
–字母、数字、汉字、下划线、以及没有特殊定义的标点符号都是**“普通字符”**。表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符。
正则表达式语法(2)
正则表达式语法(3)
-
自定义字符集合
[]方括号匹配方式,能够匹配方括号中任意一个字符 ![表达式](https://img-blog.csdnimg.cn/2020082500274665.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3Nzg0Nzg4,size_16,color_FFFFFF,t_70#pic_center) 正则表达式的特殊符号,被包含到中括号中,则失去特殊意义,除了 ^,-之外 。 标准字符集合,除小数点外,如果被包括于中括号中,自定义字符集合将包含该集合比如: -[\d.\-+]将匹配:数字、小数点、+、-