02 2023 档案
摘要:一、转义字符 转义序列通常有两种功能。第一种功能是编码无法用字母表直接表示的特殊数据。第二种功能是用于表示无法直接键盘录入的字符(如回车符)。 二、正则中元字符转义、括号转义 如果要查找比如星号(*)、加号(+)、问号(?)本身,而不是元字符的功能,这时候就需要对其进行转义,直接在前面加上反斜杠就可
阅读全文
摘要:在有些情况下,我们对要匹配的文本的位置也有一定的要求。为了解决这个问题,正则中提供了一些结构,只用于匹配位置,而不是文本内容本身,这种结构就是断言。常见的断言有三种:单词边界、行的开始或结束以及环视。 一、单词边界 在正则中使用\b 来表示单词的边界。 \b 中的 b 可以理解为是边界(Bounda
阅读全文
摘要:所谓匹配模式,指的是正则中一些改变元字符匹配行为的方式,比如匹配时不区分英文字母大小写。常见的匹配模式有 4 种,分别是不区分大小写模式、点号通配模式、多行模式和注释模式。 一、不区分大小写模式(Case-Insensitive) 不区分大小写是匹配模式的一种,当把模式修饰符放在整个正则前面时,就表
阅读全文
摘要:括号在正则中的功能就是用于分组。简单来理解就是,由多个元字符组成某个部分,应该被看成一个整体的时候,可以用括号括起来表示一个整体,这是括号的一个重要功能。其实用括号括起来还有另外一个作用,那就是“复用”。 一、分组与编号 括号在正则中可以用于分组,被括号括起来的部分“子表达式”会被保存成一个子组。
阅读全文
摘要:贪婪模式,简单说就是尽可能进行最长匹配。非贪婪模式呢,则会尽可能进行最短匹配。 一、贪婪匹配(Greedy) 首先,我们来看一下贪婪匹配。在正则中,表示次数的量词默认是贪婪的,在贪婪模式下,会尝试尽可能最大长度去匹配。 举个栗子: a* 在匹配开头的 a 时,会尝试尽量匹配更多的 a,直到第一个字母
阅读全文