求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   模型库  
会员   
 


AI 智能化软件测试方法与实践
5月23-24日 上海+在线



人工智能.机器学习TensorFlow
5月22-23日 北京



图数据库与知识图谱
5月22-23日 北京
 
 
 

Tcl 教程
Tcl环境设置
Tcl特殊变量
Tcl基本语法
Tcl命令
Tcl数据类型
Tcl变量
Tcl运算符
Tcl决策
Tcl循环
Tcl数组
Tcl字符串
Tcl列表
Tcl字典
Tcl过程
Tcl包
Tcl命名空间
Tcl文件I/O
Tcl错误处理
Tcl内置函数
Tcl正则表达式
 
 

TCL正则表达式
1149 次浏览
40次  

Tcl所述“正则表达式”命令用于匹配正则表达式中使用。正则表达式是一个字符序列,它包含一个搜索模式。它由多个规则如下面的表格解释了这些规则和相应的使用。

语法

正则表达式的语法如下。

regexp optionalSwitches patterns searchString fullMatch subMatch1 ... subMatchn

这里,正则表达式是命令。我们将看到有关可选开关后。模式是如前面提到的规则。搜索字符串是其进行的正则表达式的实际字符串。精确匹配任何可变持有的正则表达式匹配结果的结果。 Submatch1到SubMatchn是持有次级匹配模式的结果可选的子变量。

在深入复杂的之前,让我们来看看一些简单的例子。一个字符串中的任何字母。当任何字符遇到正则表达式的搜索时将被停止,并返回。

#!/usr/bin/tclsh
regexp {([A-Z,a-z]*)} "Tcl Tutorial" a b 
puts "Full Match: $a"
puts "Sub Match1: $b"

当执行上面的代码,产生以下结果:

Full Match: Tcl
Sub Match1: Tcl

多种模式

下面的例子演示了如何搜索多个模式。这是任意字符后跟任何字母的任何字的母模式例子。

#!/usr/bin/tclsh
regexp {([A-Z,a-z]*).([A-Z,a-z]*)} "Tcl Tutorial" a b c  
puts "Full Match: $a"
puts "Sub Match1: $b"
puts "Sub Match2: $c"

当执行上面的代码,产生以下结果:

Full Match: Tcl Tutorial
Sub Match1: Tcl
Sub Match2: Tutorial

上面的代码修改版本,以表明一个子模式可以包含多个模式如下所示。

#!/usr/bin/tclsh
regexp {([A-Z,a-z]*.([A-Z,a-z]*))} "Tcl Tutorial" a b c  
puts "Full Match: $a"
puts "Sub Match1: $b"
puts "Sub Match2: $c"

当执行上面的代码,产生以下结果:

Full Match: Tcl Tutorial
Sub Match1: Tcl Tutorial
Sub Match2: Tutorial

选择正则表达式的命令

选择在Tcl中提供的列表是,

-nocase : 用于忽略大小写。

-indices : 匹配的子模式,而不是匹配的字符存储的位置。

-line : 新行敏感匹配。换行后忽略字符。

-start index : 搜索模式开始设置偏移

-- : 标志着开关的结束

在上面的例子中,特意用[AZ,az]所有字母,可以使用-nocase代替,如下图所示。

#!/usr/bin/tclsh
regexp -nocase {([A-Z]*.([A-Z]*))} "Tcl Tutorial" a b c  
puts "Full Match: $a"
puts "Sub Match1: $b"
puts "Sub Match2: $c"

当执行上面的代码,产生以下结果:

Full Match: Tcl Tutorial
Sub Match1: Tcl Tutorial
Sub Match2: Tutorial

使用选择的另一个例子如下所示。

#!/usr/bin/tclsh
regexp -nocase -line -- {([A-Z]*.([A-Z]*))} "Tcl \nTutorial" a b 
puts "Full Match: $a"
puts "Sub Match1: $b"
regexp -nocase -start 4 -line -- {([A-Z]*.([A-Z]*))} "Tcl \nTutorial" a b puts "Full Match: $a"
puts "Sub Match1: $b"

当执行上面的代码,产生以下结果:

Full Match: Tcl 
Sub Match1: Tcl
Full Match: Tutorial
Sub Match1: Tutorial

您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



1149 次浏览
40次
 捐助