JavaScript 正则表达式迷你书 老姚 - v1.1. . 8 1.2.3. 常见的简写形式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3. 量词 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3.1. 简写形式. 32 3.3.3. 引用不存在的分组会怎样? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.3.4. 分组后面有量词会怎样? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.4. 非捕获括号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.3.1 贪婪量词. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3.2 惰性量词. . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 89 页 | 3.42 MB | 11 月前3
JavaScript 正则表达式迷你书 老姚 - v1.0. . 8 1.2.3. 常见的简写形式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3. 量词 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3.1. 简写形式. 32 3.3.3. 引用不存在的分组会怎样? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.3.4. 分组后面有量词会怎样? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.4. 非捕获括号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.3.1 贪婪量词. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3.2 惰性量词. . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 89 页 | 3.42 MB | 11 月前3
Python 3.11.10 正则表达式 HOWTO 'caaat' (3 个 'a' ),但不能匹配 'ct' 。 还有两个常用的重复运算符或量词。其中,问号 ? 表示匹配一次或零次,可以理解为将某个部分标记为可选 项。例如,home-?brew 可以匹配 'homebrew' 或 'home-brew'。 最复杂的量词是 {m,n},其中 m 和 n 是十进制整数。该量词表示必须至少重复 m 次,至多重复 n 次。例如, 正则 a/{1,3}b 可以匹配 'a////b',因为其中有四个斜杠。 这个量词中的 m 和 n 都是可以省略的。在这种情况下,系统会为缺失的值赋予一个合理的默认值。如果省略 m ,下限默认为 0 ;如果省略 n ,则上限默认为无限大。 最简单情况是 {m} ,它会精确匹配前面的元素 m 次。例如,a/{2}b 只会匹配 'a//b'。 善于归纳的读者可能会注意到,另外那三个量词都可以用这种表示法来表达。{0,} 等同于 *0 码力 | 19 页 | 403.22 KB | 11 月前3
Python 3.11.10 正则表达式 HOWTO 'caaat'(3 个 'a' ),但不能匹配 'ct' 。 还有两个常用的重复运算符或量词。其中,问号 ? 表示匹配一次或零次,可以理解为将某个部分标记为 可选项。例如,home-?brew 可以匹配 'homebrew' 或 'home-brew'。 最复杂的量词是 {m,n},其中 m 和 n 是十进制整数。该量词表示必须至少重复 m 次,至多重复 n 次。例 如,正则 a/{1,3}b 可以匹配 'a////b',因为其中有四个斜杠。 这个量词中的 m 和 n 都是可以省略的。在这种情况下,系统会为缺失的值赋予一个合理的默认值。如果 省略 m ,下限默认为 0 ;如果省略 n ,则上限默认为无限大。 最简单情况是 {m} ,它会精确匹配前面的元素 m 次。例如,a/{2}b 只会匹配 'a//b'。 善于归纳的读者可能会注意到,另外那三个量词都可以用这种表示法来表达。{0,} 等同于 *0 码力 | 18 页 | 403.35 KB | 11 月前3
阮一峰 JavaScript 教程String.prototype.replace() String.prototype.split() 匹配规则 字面量字符和元字符 转义符 特殊字符 字符类 预定义模式 重复类 量词符 贪婪模式 修饰符 组匹配 参考链接 RegExp 对象 RegExp 对象 - 374 - 本文档使用 书栈(BookStack.CN) 构建 RegExp 对象提供正则表示式的功能。 上面代码中,第一个模式指定 o 连续出现2次,第二个模式指定 o 连 续出现2次到5次之间。 重复类 RegExp 对象 - 394 - 本文档使用 书栈(BookStack.CN) 构建 量词符用来设定某个模式出现的次数。 ? 问号表示某个模式出现0次或1次,等同于 {0, 1} 。 * 星号表示某个模式出现0次或多次,等同于 {0,} 。 + 加号表示某个模式出现1次或多次,等同于 test('ttest') // true 13. /t*est/.test('tttest') // true 14. /t*est/.test('est') // true 上一小节的三个量词符,默认情况下都是最大可能匹配,即匹配直到下 一个字符不满足匹配规则为止。这被称为贪婪模式。 1. var s = 'aaa'; 2. s.match(/a+/) // ["aaa"] 上面代码中,模式是0 码力 | 540 页 | 3.32 MB | 10 月前3
Python 3.9.20 正则表达式 HOWTO 是十进制整数。该限定符意味着必须至少重复 m 次,最多 重复 n 次。例如,a/{1,3}b 可以匹配 'a/b'、'a//b' 或者 'a///b' ,但不能匹配中间没有斜杆的 'ab',或者四个斜杆的 'a////b' 。 这个量词中的 m 和 n 都是可以省略的。在这种情况下,系统会为缺失的值赋予一个合理的默认值。如果 省略 m ,下限默认为 0 ;如果省略 n ,则上限默认为无限大。 细心的读者也许注意到了,前面的三个重复限定符都可以用这种标记法来表示。{00 码力 | 18 页 | 401.42 KB | 11 月前3
Python 3.9.20 正则表达式 HOWTO 是十进制整数。该限定符意味着必须至少重复 m 次,最多重复 n 次。例如,a/{1,3}b 可以匹配 'a/b'、'a//b' 或者 'a///b' ,但不能匹配中间没有斜杆的 'ab',或 者四个斜杆的 'a////b' 。 这个量词中的 m 和 n 都是可以省略的。在这种情况下,系统会为缺失的值赋予一个合理的默认值。如果省略 m ,下限默认为 0 ;如果省略 n ,则上限默认为无限大。 细心的读者也许注意到了,前面的三个重复限定符都可以用这种标记法来表示。{00 码力 | 18 页 | 400.78 KB | 11 月前3
Python 标准库参考指南 3.13 安全 (3) 安全 (5) 安全 (4) DTD retrieval 安全 (5) 安全 安全 安全 (5) 安全 decompression bomb 安全 安全 安全 安全 易受攻击 解析大量词元 易受攻击 (6) 易受攻击 (6) 易受攻击 (6) 易受攻击 (6) 易受攻击 (6) 1. Expat 2.4.1 及更新的版本不易受”billion laughs” 和”quadratic xmlrpc.client 不会扩展外部实体并将忽略它们。 5. 从 Python 3.7.1 开始,默认情况下不再处理外部通用实体。 6. Expat 2.6.0 及更新的版本不易受到因解析大量词元而导致利用指数级运行时间的拒绝服务攻 击。由于对系统所提供的库的潜在依赖仍会有一些项目被列为易受攻击。请检查 pyexpat. EXPAT_VERSION。 billion laughs / exponential ZIP bomb)适用于所有可以解析压缩 XML 流(例如 gzip 压 缩的 HTTP 流或 LZMA 压缩的文件)的 XML 库。对于攻击者来说,它可以将传输的数据量减少三 个量级或更多。 解析大量词元 Expat 需要重新解析未完成的词元;在没有 Expat 2.6.0 所引入的防护措施的情况下,这会导致 可被用来在解析 XML 的应用程序中制造拒绝服务攻击的指数级运行时间。此问题被称为 CVE0 码力 | 2246 页 | 11.74 MB | 9 月前3
Python 标准库参考指南 3.12 安全 (3) 安全 (5) 安全 (4) DTD retrieval 安全 (5) 安全 安全 安全 (5) 安全 decompression bomb 安全 安全 安全 安全 易受攻击 解析大量词元 易受攻击 (6) 易受攻击 (6) 易受攻击 (6) 易受攻击 (6) 易受攻击 (6) 1. Expat 2.4.1 及更新的版本不易受”billion laughs” 和”quadratic xmlrpc.client 不会扩展外部实体并将忽略它们。 5. 从 Python 3.7.1 开始,默认情况下不再处理外部通用实体。 6. Expat 2.6.0 及更新的版本不易受到因解析大量词元而导致利用指数级运行时间的拒绝服务攻 击。由于对系统所提供的库的潜在依赖仍会有一些项目被列为易受攻击。请检查 pyexpat. EXPAT_VERSION。 billion laughs / exponential ZIP bomb)适用于所有可以解析压缩 XML 流(例如 gzip 压 缩的 HTTP 流或 LZMA 压缩的文件)的 XML 库。对于攻击者来说,它可以将传输的数据量减少三 个量级或更多。 解析大量词元 Expat 需要重新解析未完成的词元;在没有 Expat 2.6.0 所引入的防护措施的情况下,这会导致 可被用来在解析 XML 的应用程序中制造拒绝服务攻击的指数级运行时间。此问题被称为 CVE0 码力 | 2253 页 | 11.81 MB | 9 月前3
Python 标准库参考指南 3.13 安全 (3) 安全 (5) 安全 (4) DTD retrieval 安全 (5) 安全 安全 安全 (5) 安全 decompression bomb 安全 安全 安全 安全 易受攻击 解析大量词元 易受攻击 (6) 易受攻击 (6) 易受攻击 (6) 易受攻击 (6) 易受攻击 (6) 1. Expat 2.4.1 及更新的版本不易受”billion laughs” 和”quadratic xmlrpc.client 不会扩展外部实体并将忽略它们。 5. 从 Python 3.7.1 开始,默认情况下不再处理外部通用实体。 6. Expat 2.6.0 及更新的版本不易受到因解析大量词元而导致利用指数级运行时间的拒绝服务攻 击。由于对系统所提供的库的潜在依赖仍会有一些项目被列为易受攻击。请检查 pyexpat. EXPAT_VERSION。 billion laughs / exponential ZIP bomb)适用于所有可以解析压缩 XML 流(例如 gzip 压 缩的 HTTP 流或 LZMA 压缩的文件)的 XML 库。对于攻击者来说,它可以将传输的数据量减少三 个量级或更多。 解析大量词元 Expat 需要重新解析未完成的词元;在没有 Expat 2.6.0 所引入的防护措施的情况下,这会导致 可被用来在解析 XML 的应用程序中制造拒绝服务攻击的指数级运行时间。此问题被称为 CVE0 码力 | 2242 页 | 11.73 MB | 9 月前3
共 20 条
- 1
- 2













