JavaScript 正则表达式迷你书 老姚 - v1.1[\d\D]、[\w\W]、[\s\S] 和 [^] 中任何的一个。 以上各字符组对应的可视化形式是: JavaScript 正则表达式迷你书 1. 第一章 正则表达式字符匹配攻略 | 第 8 页 1.3. 量词 量词也称重复。掌握 {m,n} 的准确含义后,只需要记住一些简写形式。 1.3.1. 简写形式 量词 具体含义 {m,} 表示至少出现 m 次。 {m} 等价于 {m,m},表示出现 m 次。 ? 等价于 正则表达式迷你书 5. 第五章 正则表达式的拆分 | 第 46 页 操作符描述 操作符 优先级 转义符 \ 1 括号和方括号 (…)、(?:…)、(?=…)、(?!…)、[…] 2 量词限定符 {m}、{m,n}、{m,}、?、*、+ 3 位置和序列 ^、$、\元字符、一般字符 4 管道符(竖杠) | 5 上面操作符的优先级从上至下,由高到低。 这里,我们来分析一个正则: /ab 假设,要匹配这样的字符串: 1. 每个字符为 "a、"b"、"c" 任选其一, 2. 字符串的长度是 3 的倍数。 此时正则不能想当然地写成 /^[abc]{3}+$/,这样会报错,说 + 前面没什么可重复的: 此时要修改成: JavaScript 正则表达式迷你书 5. 第五章 正则表达式的拆分 | 第 48 页 5.2.3 元字符转义问题 所谓元字符,就是正则中有特殊含义的字符。 所有结构里,用到的元字符总结如下:0 码力 | 89 页 | 3.42 MB | 11 月前3
JavaScript 正则表达式迷你书 老姚 - v1.0[\d\D]、[\w\W]、[\s\S] 和 [^] 中任何的一个。 以上各字符组对应的可视化形式是: JavaScript 正则表达式迷你书 1. 第一章 正则表达式字符匹配攻略 | 第 8 页 1.3. 量词 量词也称重复。掌握 {m,n} 的准确含义后,只需要记住一些简写形式。 1.3.1. 简写形式 量词 具体含义 {m,} 表示至少出现 m 次。 {m} 等价于 {m,m},表示出现 m 次。 ? 等价于 正则表达式迷你书 5. 第五章 正则表达式的拆分 | 第 46 页 操作符描述 操作符 优先级 转义符 \ 1 括号和方括号 (…)、(?:…)、(?=…)、(?!…)、[…] 2 量词限定符 {m}、{m,n}、{m,}、?、*、+ 3 位置和序列 ^、$、\元字符、一般字符 4 管道符(竖杠) | 5 上面操作符的优先级从上至下,由高到低。 这里,我们来分析一个正则: /ab 假设,要匹配这样的字符串: 1. 每个字符为 "a、"b"、"c"任选其一, 2. 字符串的长度是 3 的倍数。 此时正则不能想当然地写成 /^[abc]{3}+$/,这样会报错,说 + 前面没什么可重复的: 此时要修改成: JavaScript 正则表达式迷你书 5. 第五章 正则表达式的拆分 | 第 48 页 5.2.3 元字符转义问题 所谓元字符,就是正则中有特殊含义的字符。 所有结构里,用到的元字符总结如下:0 码力 | 89 页 | 3.42 MB | 11 月前3
TypeScript Handbook(中文版)
可能仅在声明文件被检查时能发现错误. 不过这种情况在实际使 用中并不常见。 允许在声明中重复标识符 这是重复定义错误的一个常见来源。多个声明文件定义相同的接口成员。 TypeScript 2.0放宽了这一约束,并允许可以不同代码块中出现重复的标识符, 只要 它们有完全相同的类型。 在同一代码块重复定义仍不允许。 示例 TypeScript Handbook(中文版) 160 TypeScript Object.getOwnPropertyDescriptor 和 Object.defineProperty 的调用, 并 向后兼容, 使 ES5 的输出可以消除前面提到的 Object 方法的重复[1]. TypeScript Handbook(中文版) 185 TypeScript 1.7 TypeScript Handbook(中文版) 186 TypeScript 1.7 TypeScript theName ,仅在构造函数里使用 private name: string 参数来创建和初始化 name 成员。 我们把声明和赋值合并至一处。 参数属性通过给构造函数参数添加一个访问限定符来声明。 使用 private 限定一 个参数属性会声明并初始化一个私有成员;对于 public 和 protected 来说也是 一样。 存取器 TypeScript支持通过gett0 码力 | 557 页 | 7.48 MB | 1 年前3
TypeScript 4.0 使用手册
theName ,仅在构造函数里使用 private name: string 参数来创建和 初始化 name 成员。 我们把声明和赋值合并至一处。 参数属性通过给构造函数参数添加一个访问限定符来声明。 使用 private 限定一个参数属性会声明 并初始化一个私有成员;对于 public 和 protected 来说也是一样。 TypeScript支持通过getters/setters来截取对对象成员的访问。 Arr>(arr1: T, arr2: U): [...T, ...U] { 4. return [...arr1, ...arr2]; 5. } 虽然这个签名仍有点长,但是我们不再需要像重载那样重复多次,并且对于任何数组或元组它都能够给 出期望的类型。 该功能本身已经足够好了,但是它的强大更体现在一些复杂的场景中。 例如,考虑有一个支持部分参 数应用的函数 partialCall 。 .ts 和 .tsx 文件)生成 .d.ts 文件(声明文件)。 .d.ts 文件的重要性有几个方面: 首先,它们使得 TypeScript 能够对外部项目进行类型检查,同时避免重复检查其源代码。 另一方 面,它们使得 TypeScript 能够与现存的 JavaScript 库相互配合,即使这些库构建时并未使用 TypeScript。 最后,还有一个通常被忽略的好处:在使用支持0 码力 | 683 页 | 6.27 MB | 1 年前3
Hello 算法 1.0.0b5 JavaScript版Hot 100,先积累至少 100 道题目,熟悉 主流的算法问题。初次刷题时,“知识遗忘”可能是一个挑战,但请放心,这是很正常的。我们可以按 照“艾宾浩斯遗忘曲线”来复习题目,通常在进行 3‑5 轮的重复后,就能将其牢记在心。 3. 搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富知识体 系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的刷题心 所示的方式实现。 1. 翻开字典约一半的页数,查看该页的首字母是什么,假设首字母为 ? 。 2. 由于在拼音字母表中 ? 位于 ? 之后,所以排除字典前半部分,查找范围缩小到后半部分。 3. 不断重复步骤 1. 和 步骤 2. ,直至找到拼音首字母为 ? 的页码为止。 图 1‑1 查字典步骤 第 1 章 初识算法 hello‑algo.com 11 查阅字典这个小学生必备技能,实际上就是著 成简单算 法的复杂度分析。 2.2 迭代与递归 在数据结构与算法中,重复执行某个任务是很常见的,其与算法的复杂度密切相关。而要重复执行某个任务, 我们通常会选用两种基本的程序结构:迭代和递归。 2.2.1 迭代 「迭代 iteration」是一种重复执行某个任务的控制结构。在迭代中,程序会在满足一定的条件下重复执行某 段代码,直到这个条件不再满足。 1. for 循环 for 循0 码力 | 375 页 | 30.68 MB | 1 年前3
Hello 算法 1.0.0b5 TypeScript 版Hot 100,先积累至少 100 道题目,熟悉 主流的算法问题。初次刷题时,“知识遗忘”可能是一个挑战,但请放心,这是很正常的。我们可以按 照“艾宾浩斯遗忘曲线”来复习题目,通常在进行 3‑5 轮的重复后,就能将其牢记在心。 3. 搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富知识体 系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的刷题心 所示的方式实现。 1. 翻开字典约一半的页数,查看该页的首字母是什么,假设首字母为 ? 。 2. 由于在拼音字母表中 ? 位于 ? 之后,所以排除字典前半部分,查找范围缩小到后半部分。 3. 不断重复步骤 1. 和 步骤 2. ,直至找到拼音首字母为 ? 的页码为止。 图 1‑1 查字典步骤 第 1 章 初识算法 hello‑algo.com 11 查阅字典这个小学生必备技能,实际上就是著 成简单算 法的复杂度分析。 2.2 迭代与递归 在数据结构与算法中,重复执行某个任务是很常见的,其与算法的复杂度密切相关。而要重复执行某个任务, 我们通常会选用两种基本的程序结构:迭代和递归。 2.2.1 迭代 「迭代 iteration」是一种重复执行某个任务的控制结构。在迭代中,程序会在满足一定的条件下重复执行某 段代码,直到这个条件不再满足。 1. for 循环 for 循0 码力 | 378 页 | 30.70 MB | 1 年前3
Hello 算法 1.0.0b5 Dart版Hot 100,先积累至少 100 道题目,熟悉 主流的算法问题。初次刷题时,“知识遗忘”可能是一个挑战,但请放心,这是很正常的。我们可以按 照“艾宾浩斯遗忘曲线”来复习题目,通常在进行 3‑5 轮的重复后,就能将其牢记在心。 3. 搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富知识体 系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的刷题心 所示的方式实现。 1. 翻开字典约一半的页数,查看该页的首字母是什么,假设首字母为 ? 。 2. 由于在拼音字母表中 ? 位于 ? 之后,所以排除字典前半部分,查找范围缩小到后半部分。 3. 不断重复步骤 1. 和 步骤 2. ,直至找到拼音首字母为 ? 的页码为止。 图 1‑1 查字典步骤 第 1 章 初识算法 hello‑algo.com 11 查阅字典这个小学生必备技能,实际上就是著 成简单算 法的复杂度分析。 2.2 迭代与递归 在数据结构与算法中,重复执行某个任务是很常见的,其与算法的复杂度密切相关。而要重复执行某个任务, 我们通常会选用两种基本的程序结构:迭代和递归。 2.2.1 迭代 「迭代 iteration」是一种重复执行某个任务的控制结构。在迭代中,程序会在满足一定的条件下重复执行某 段代码,直到这个条件不再满足。 1. for 循环 for 循0 码力 | 376 页 | 30.67 MB | 1 年前3
Hello 算法 1.1.0 Dart版阶段二:刷算法题。建议从热门题目开刷,先积累至少 100 道题目,熟悉主流的算法问题。初次刷题 时,“知识遗忘”可能是一个挑战,但请放心,这是很正常的。我们可以按照“艾宾浩斯遗忘曲线”来 复习题目,通常在进行 3~5 轮的重复后,就能将其牢记在心。推荐的题单和刷题计划请见此 GitHub 仓库。 3. 阶段三:搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富 知识体系。在刷题方面, 所示的方式实现。 1. 翻开字典约一半的页数,查看该页的首字母是什么,假设首字母为 ? 。 2. 由于在拼音字母表中 ? 位于 ? 之后,所以排除字典前半部分,查找范围缩小到后半部分。 3. 不断重复步骤 1. 和 步骤 2. ,直至找到拼音首字母为 ? 的页码为止。 图 1‑1 查字典步骤 查字典这个小学生必备技能,实际上就是著名的“二分查找”算法。从数据结构的角度,我们可以把字典视 为 法的复杂度分析。 2.2 迭代与递归 在算法中,重复执行某个任务是很常见的,它与复杂度分析息息相关。因此,在介绍时间复杂度和空间复杂 度之前,我们先来了解如何在程序中实现重复执行任务,即两种基本的程序控制结构:迭代、递归。 2.2.1 迭代 迭代(iteration)是一种重复执行某个任务的控制结构。在迭代中,程序会在满足一定的条件下重复执行某段 代码,直到这个条件不再满足。 1. for0 码力 | 378 页 | 18.45 MB | 1 年前3
Hello 算法 1.1.0 JavaScript版阶段二:刷算法题。建议从热门题目开刷,先积累至少 100 道题目,熟悉主流的算法问题。初次刷题 时,“知识遗忘”可能是一个挑战,但请放心,这是很正常的。我们可以按照“艾宾浩斯遗忘曲线”来 复习题目,通常在进行 3~5 轮的重复后,就能将其牢记在心。推荐的题单和刷题计划请见此 GitHub 仓库。 3. 阶段三:搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富 知识体系。在刷题方面, 所示的方式实现。 1. 翻开字典约一半的页数,查看该页的首字母是什么,假设首字母为 ? 。 2. 由于在拼音字母表中 ? 位于 ? 之后,所以排除字典前半部分,查找范围缩小到后半部分。 3. 不断重复步骤 1. 和 步骤 2. ,直至找到拼音首字母为 ? 的页码为止。 图 1‑1 查字典步骤 查字典这个小学生必备技能,实际上就是著名的“二分查找”算法。从数据结构的角度,我们可以把字典视 为 法的复杂度分析。 2.2 迭代与递归 在算法中,重复执行某个任务是很常见的,它与复杂度分析息息相关。因此,在介绍时间复杂度和空间复杂 度之前,我们先来了解如何在程序中实现重复执行任务,即两种基本的程序控制结构:迭代、递归。 2.2.1 迭代 迭代(iteration)是一种重复执行某个任务的控制结构。在迭代中,程序会在满足一定的条件下重复执行某段 代码,直到这个条件不再满足。 1. for0 码力 | 379 页 | 18.46 MB | 1 年前3
Hello 算法 1.1.0 TypeScript版阶段二:刷算法题。建议从热门题目开刷,先积累至少 100 道题目,熟悉主流的算法问题。初次刷题 时,“知识遗忘”可能是一个挑战,但请放心,这是很正常的。我们可以按照“艾宾浩斯遗忘曲线”来 复习题目,通常在进行 3~5 轮的重复后,就能将其牢记在心。推荐的题单和刷题计划请见此 GitHub 仓库。 3. 阶段三:搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富 知识体系。在刷题方面, 所示的方式实现。 1. 翻开字典约一半的页数,查看该页的首字母是什么,假设首字母为 ? 。 2. 由于在拼音字母表中 ? 位于 ? 之后,所以排除字典前半部分,查找范围缩小到后半部分。 3. 不断重复步骤 1. 和 步骤 2. ,直至找到拼音首字母为 ? 的页码为止。 图 1‑1 查字典步骤 查字典这个小学生必备技能,实际上就是著名的“二分查找”算法。从数据结构的角度,我们可以把字典视 为 法的复杂度分析。 2.2 迭代与递归 在算法中,重复执行某个任务是很常见的,它与复杂度分析息息相关。因此,在介绍时间复杂度和空间复杂 度之前,我们先来了解如何在程序中实现重复执行任务,即两种基本的程序控制结构:迭代、递归。 2.2.1 迭代 迭代(iteration)是一种重复执行某个任务的控制结构。在迭代中,程序会在满足一定的条件下重复执行某段 代码,直到这个条件不再满足。 1. for0 码力 | 383 页 | 18.49 MB | 1 年前3
共 35 条
- 1
- 2
- 3
- 4













