章节大纲

  • 术语表(Glossary)

    符号

    • \A 在某些正则表达式风格中,表示字符串的开头(但不是行的开头)。
    • \b 在某些正则表达式风格中,表示单词边界
    • \B 在某些正则表达式风格中,表示非单词边界(\b 的补集)。
    • \d 在某些正则表达式风格中,表示数字字符
    • \D 在某些正则表达式风格中,表示非数字字符(\d 的补集)。
    • \s 在某些正则表达式风格中,表示空白字符(空格、制表符、换行符、换页符)。
    • \s- 在 Emacs 中,表示空白字符。
    • \S 在某些正则表达式风格中,表示非空白字符(\s 的补集)。
    • \w 在某些正则表达式风格中,表示字母数字字符(包括 _)。
    • \W 在某些正则表达式风格中,表示非字母数字字符(\w 的补集)。
    • \Z 在某些正则表达式风格中,表示字符串的结尾(但不是行的结尾)。
    • < 在某些正则表达式风格中,表示单词的开头
    • > 在某些正则表达式风格中,表示单词的结尾
    • \u13F 在某些正则表达式风格中,表示 Unicode 十六进制值 13F 对应的字符。
    • \xF7 在某些正则表达式风格中,表示 ASCII 十六进制值 F7 对应的字符。
    • \x{13F} 在某些正则表达式风格中,表示 Unicode 十六进制值 13F 对应的字符。

    元字符(Metacharacters)

    • ^ 表示行的开头
    • $ 表示行的结尾
    • . 匹配任意单个字符(通常不包括换行符)。
    • [ 表示字符类的开始
    • ] 表示字符类的结束
    • ( 在某些风格中,表示分组的开始
    • ) 在某些风格中,表示分组的结束
    • ( 在某些风格中,表示分组的开始(转义版)。
    • ) 在某些风格中,表示分组的结束(转义版)。
    • { 在某些风格中,表示匹配次数限定符的开始
    • } 在某些风格中,表示匹配次数限定符的结束
    • { 在某些风格中,表示匹配次数限定符的开始(转义版)。
    • } 在某些风格中,表示匹配次数限定符的结束(转义版)。
    • | 在某些风格中,表示或运算(alternation)
    • | 在某些风格中,表示或运算(alternation)(转义版)。
    • \1 在某些风格中,表示对第 1 组的反向引用
    • \2 在某些风格中,表示对第 2 组的反向引用

    量词(Quantifiers)

    • * 匹配零次或多次前面的元素。
    • + 在某些风格中,匹配一次或多次前面的元素。
    • + 在某些风格中,匹配一次或多次前面的元素(转义版)。
    • ? 在某些风格中,匹配零次或一次前面的元素。
    • ? 在某些风格中,匹配零次或一次前面的元素(转义版)。
    • *? 在某些风格中,表示 * 的**非贪婪(lazy)**版本。
    • +? 在某些风格中,表示 + 的**非贪婪(lazy)**版本。
    • }? 在某些风格中,表示 } 的**非贪婪(lazy)**版本。

    术语(Terminology)

    • BRE(Basic Regular Expressions):基本正则表达式。
    • ERE(Extended Regular Expressions):扩展正则表达式。
    • GNU:一个旨在创建自由操作系统的项目,为 grepsed 等工具提供正则表达式扩展。
    • Greedy(贪婪匹配):表示运算符匹配尽可能多的字符。
    • Metacharacter(元字符):具有特殊含义的字符或字符序列,如 .\+
    • PCRE(Perl-Compatible Regular Expressions):Perl 兼容正则表达式。
    • Regex:正则表达式的缩写。
    • Regular Expression(正则表达式):包含特殊字符的字符串模式,用于匹配文本中的模式。

    相关软件和工具(Supporting Software)

    • Grep:用于查找匹配正则表达式的文本行的命令行工具。
    • Sed:非交互式流编辑器,以 s 命令(substitution 替换)著称。
    • AWK:支持正则表达式的文本处理工具,使用 ERE 语法。
    • Emacs:可编程文本编辑器,支持正则表达式。
    • Vim:可编程文本编辑器,支持正则表达式。
    • Java:从 1.4 版开始,标准库内置正则表达式支持。
    • JavaScript:支持正则表达式的 Web 脚本语言。
    • Perl:以强大的正则表达式支持而著称的解释型脚本语言。
    • PHP:支持正则表达式的解释型脚本语言。

    这份术语表涵盖了正则表达式的主要符号、量词、术语及相关软件,便于查阅和理解不同正则表达式风格及其适用范围。