tcl字符串正则表达式
时间: 2023-08-01 12:10:41 浏览: 193
正则表达式辅助工具(Tcl专版)
Tcl字符串正则表达式是一种用于匹配和搜索字符串的模式。Tcl正则表达式基于1003.2规范和一些Perl5扩展。它包含一个或多个约束或量化原子的连接。正则表达式可以使用不同的风格,包括扩展正则(ERE)、基本正则(BRE)和高级正则(ARE)。Tcl实现了高级正则表达式风格,它在ERE的基础上添加了一些重要的扩展。通常,正则表达式的风格由应用程序的方法指定。如果表达式以“:”开头,则剩余的表达式为高级正则表达式(ARE)。如果以“=”开头,则其余的表达式被视为普通字符。Tcl字符串正则表达式的语法为regexp ?optionalSwitches? patterns ?searchString? fullMatch subMatch1 ... subMatchn。[1][2]
BRE与ERE在几个方面有所不同。在BRE中,字符“|”、“+”和“?”只是普通字符,没有与它们的功能等价的字符。边界的分隔符是“\{”和“\}”,而“{”和“}”本身为普通字符。嵌套子表达式的括号是“\(\)”和“\(\)”和“\(\)”,而“(”和“)”本身为普通字符。除了在正则表达式或圆括号子表达式的开头以外,“^”均为普通字符。除了在正则表达式或圆括号子表达式的末尾以外,“$”均为普通字符。如果“*”出现在正则表达式或圆括号子表达式的开头(或者有一个前导字符^),则为普通字符。只能使用个位数的反向引用。除了“\<”和“\>”等价于“[[:<:]]”和“[[:>:]]”之外,没有其他转义字符可用。[3]
阅读全文