正则指引
Book information
Description
扉页......Page 1 版权页......Page 2 引子:关于正则表达式……......Page 3 返璞归真——评《正则指引》......Page 6 克制我们内心的冲动......Page 8 前言......Page 10 目录......Page 15 第一部分......Page 27 1.1 普通字符组......Page 28 1.2 关于Python的基础知识......Page 30 1.3 普通字符组(续)......Page 32 1.4 元字符与转义......Page 34 1.5 排除型字符组......Page 36 1.6 字符组简记法......Page 38 1.7 字符组运算......Page 40 1.8 POSIX字符组......Page 41 2.1 一般形式......Page 43 2.2 常用量词......Page 45 2.3 数据提取......Page 47 2.5 滥用点号的问题......Page 49 2.6 忽略优先量词......Page 52 2.7 转义......Page 57 3.1 分组......Page 59 3.2 多选结构......Page 65 3.3 引用分组......Page 70 3.3.1 反向引用......Page 74 3.3.2 各种引用的记法......Page 76 3.3.3 命名分组......Page 79 3.4 非捕获分组......Page 81 3.5.2 URL Rewrite......Page 82 3.5.3 一个例子......Page 84 4.1 单词边界......Page 86 4.2 行起始/结束位置......Page 88 4.3 环视......Page 95 4.4.1 环视的价值......Page 101 4.4.2 环视与分组编号......Page 102 4.4.3 环视的支持程度......Page 103 4.4.4 环视的组合......Page 105 4.4.6 逆序环视的诡异之处......Page 107 5.1 不区分大小写模式与模式的指定方式......Page 109 5.2 单行模式......Page 112 5.3 多行模式......Page 113 5.4 注释模式......Page 115 5.5.2 修饰符的作用范围......Page 117 5.5.3 失效修饰符......Page 118 5.5.5 冲突策略......Page 119 5.5.6 哪种方式更好......Page 120 6.1.1 字符串转义与正则转义......Page 121 6.1.2 元字符的转义......Page 125 6.1.3 彻底消除元字符的特殊含义......Page 127 6.2 正则表达式的处理形式......Page 129 6.2.2 面向对象式处理......Page 130 6.2.3 比较......Page 131 6.2.4 线程安全性......Page 132 6.3 表达式中的优先级......Page 134 6.4 回车和换行......Page 135 第二部分......Page 137 7.1 基础知识......Page 138 7.2 关于编码......Page 141 7.3 尽量使用Unicode编码......Page 142 7.4 Unicode与字符组简记法......Page 146 7.5 规范化问题......Page 148 7.6 单词边界......Page 149 7.7 码值转义序列......Page 151 7.8 Unicode属性......Page 153 7.8.2 Unicode Block......Page 154 7.8.3 Unicode Script......Page 155 7.9.1 Unicode Property......Page 156 7.9.2 Unicode Block......Page 157 7.10 POSIX字符组......Page 161 7.11 Emoji......Page 162 8.1 有穷自动机......Page 164 8.2 正则表达式的匹配过程......Page 165 8.3 回溯......Page 168 8.4 NFA和DFA......Page 170 9.1 关于元素的三种逻辑......Page 172 9.1.2 可能出现......Page 173 9.1.3 不能出现......Page 174 9.2.1 提取......Page 176 9.2.2 验证......Page 182 9.2.3 替换......Page 186 9.2.4 切分......Page 191 9.3.1 使用缓存......Page 193 9.3.3 避免重复匹配......Page 194 9.3.4 独立出文本和锚点......Page 195 9.4.1 彻底放弃字符串操作......Page 196 9.4.2 思维定式......Page 197 9.4.3 正则表达式可以匹配各种文本......Page 198 9.4.4 滥用正则表达式......Page 199 第三部分......Page 201 10.1 预备知识......Page 202 10.2.1 列表......Page 203 10.2.3 Unicode属性......Page 204 10.2.5 单词边界......Page 205 10.2.6 行起始/结束位置......Page 206 10.2.8 匹配模式......Page 207 10.2.9 捕获分组的引用......Page 208 10.3.1 Regex......Page 209 10.3.1.3 int[] GetGroupNumbers()......Page 210 10.3.1.5 String Replace(String input, String replacement)......Page 211 10.3.1.6 String[] Split(String input)......Page 212 10.3.2 Match......Page 213 10.4.1 验证......Page 214 10.4.3 替换......Page 215 10.4.4 切分......Page 216 11.1 预备知识......Page 217 11.2.2 字符组......Page 218 11.2.5 单词边界......Page 220 11.2.6 行起始/结束位置......Page 221 11.2.8 匹配模式......Page 222 11.3 正则API简介......Page 223 11.3.1 Pattern......Page 224 11.3.1.3 String[] split(CharSequence text, int limit)......Page 225 11.3.2.1 String group(int n)......Page 226 11.3.2.7 int end()......Page 227 11.3.2.9 Matcher appendReplacement(StringBuffer sb, String replacement)......Page 228 11.3.3.2 String replaceFirst(String regex, String replacement)......Page 229 11.4.2 提取......Page 230 11.4.3 替换......Page 231 11.5.1 Java 8的新改进......Page 232 11.5.2 Java 9的新改进......Page 233 12.1 预备知识......Page 234 12.2.1 列表......Page 235 12.2.2 字符组......Page 236 12.2.4 单词边界......Page 237 12.2.6 环视......Page 238 12.2.7 匹配模式......Page 239 12.2.8 捕获分组的引用......Page 240 12.3.1 RegExp......Page 241 12.3.1.1 RegExp.exec(string)......Page 242 12.3.1.2 RegExp.test(string)......Page 243 12.3.2.1 string.match(RegExp)......Page 244 12.3.2.2 string.search(RegExp)......Page 245 12.3.2.4 string.replace(RegExp, function)......Page 246 12.4.1 验证......Page 247 12.4.2 提取......Page 248 12.5.1 RegExp......Page 249 12.5.4 正则API......Page 250 13.1 预备知识......Page 251 13.2.1 列表......Page 253 13.2.2 字符组......Page 254 13.2.4 字符组简记法......Page 255 13.2.6 行起始/结束位置......Page 256 13.2.8 匹配模式......Page 257 13.2.10 捕获分组的引用......Page 258 13.3.1.3 PREG_SPLIT_OFFSET_CAPTURE......Page 259 13.3.1.13 PCRE_VERSION......Page 260 13.3.3 preg_ grep......Page 261 13.3.4 preg_match......Page 262 13.3.5 preg_match_all......Page 263 13.3.7 preg_replace......Page 265 13.3.9 preg_filter......Page 266 13.3.10 preg_split......Page 267 13.3.11 preg_replace_callback_array......Page 268 13.4.2 提取......Page 269 13.4.4 切分......Page 270 14.1 预备知识......Page 271 14.2.1 列表......Page 272 14.2.2.1 Python 2......Page 273 14.2.3 Unicode属性......Page 274 14.2.4.2 Python 3......Page 275 14.2.5.1 Python 2......Page 276 14.2.6 行起始/结束位置......Page 277 14.2.8 匹配模式......Page 278 14.2.10 条件匹配......Page 279 14.3.1 RegexObject......Page 280 14.3.2 re.compile(regex[, flags])......Page 281 14.3.4 MatchObject......Page 282 14.3.5 re.match(pattern, string[, flags])......Page 283 14.3.7 re.finditer(pattern, string[, flags])......Page 284 14.3.9 re.sub(pattern, repl, string[, count, flags])......Page 285 14.4.1 验证......Page 286 14.4.2 提取......Page 287 14.4.4 切分......Page 288 15.1 预备知识......Page 289 15.2.2 字符组......Page 290 15.2.3 Unicode属性......Page 291 15.2.5 单词边界......Page 292 15.2.6 行起始/结束位置......Page 293 15.2.8 匹配模式......Page 294 15.3.1 Regexp......Page 295 15.3.2 Regexp.match(text)......Page 297 15.3.3 Regexp.quote(text)和Regexp.escape(text)......Page 298 15.3.5 String.scan(Regexp)......Page 299 15.3.7 String.split(Regexp)......Page 300 15.3.8 String.sub(Regexp, Str)......Page 301 15.4.1 验证......Page 302 15.4.4 切分......Page 303 15.5 Ruby 1.9的新变化......Page 304 16.1 预备知识......Page 306 16.2.1 列表......Page 308 16.2.2 字符组......Page 309 16.2.4 字符组简记法......Page 310 16.2.5 单词边界......Page 311 16.2.6 行起始/结束位置......Page 312 16.2.8 匹配模式......Page 313 16.2.9 纯文本模式......Page 314 16.2.10 捕获分组的引用......Page 315 16.2.11 命名分组......Page 316 16.3.1 predicateWithFormat......Page 317 16.3.4 initWithPattern......Page 318 16.3.7 numberOfMatchesInString......Page 319 16.3.10 escapedPatternForString......Page 320 16.4.2 提取......Page 321 16.4.3 替换......Page 323 16.4.4 切分......Page 324 17.1 预备知识......Page 325 17.2.2 字符组......Page 327 17.2.3 Unicode属性......Page 328 17.2.6 行起始/结束位置......Page 329 17.2.8 匹配模式......Page 330 17.2.10 捕获分组的引用......Page 331 17.2.11 命名分组......Page 332 17.3.1 Compile和MustCompile......Page 333 17.3.3 FindString......Page 334 17.3.7 FindStringSubmatch......Page 335 17.3.9 SubexpNames......Page 336 17.3.11 ReplaceAllString......Page 337 17.4.2 提取......Page 338 17.4.4 切分......Page 339 18.1.1.1 BRE......Page 340 18.1.1.2 ERE......Page 341 18.1.2 POSIX字符组......Page 342 18.2.1 字符组及简记法......Page 343 18.2.2 量词......Page 344 18.2.5 锚点和单词边界......Page 345 18.2.6 替换操作的特殊字符......Page 346 18.2.8 补充......Page 348 18.3.1 基本用法......Page 349 18.3.4 量词......Page 350 18.3.6 options......Page 351 18.3.7 egrep和fgrep......Page 352 18.4.1 基本用法......Page 353 18.4.2 字符组及简记法......Page 354 18.4.4 量词......Page 355 18.5.1 基本用法......Page 356 18.5.3 锚点和单词边界......Page 357 18.5.5 多选结构和捕获分组......Page 358 18.5.7 补充......Page 359 18.6 总结......Page 360 附录A 常用语言中正则特性一览......Page 363 附录B 常用的正则表达式......Page 366 附录C 常用的正则表达式工具及资源......Page 382 正则表达式术语中英文对照表......Page 389
Similar books
正则指引: Regular Expression yet another introduction
2012 · PDF
中国建筑西南设计研究院:成都嘉煜金融科技中心方案深化设计(高新区名都路166号)
2012 · PDF
尤安设计:北京市朝阳区 望京绿地中心-A座 深化设计文本( 启阳路)【超高层办公楼】
2011 · PDF
鏖战北海:挪威战役
2023 · PDF
史记会注考证 8
2020 · PDF
怎样选择成长股
1999 · PDF
淮海集笺注 5
2020 · PDF
怎样选择成长股
2017 · PDF