TCL基本语法2
TCL基本语法2
1、format和scan
两个基本的函数,和C语言中的sprintf和scanf的作用基本相同。format将不同类型的数据压缩在字符串中,scan将字符串中的数据提取出来。
set name Jack
set age 100
set worker [format "%s is %d years old" $name $age]
puts $worker
scan $worker "%s is %d years old" name_scan age_scan
puts $name_scan\ and\ $age_scan
基本上就是将变量组合然后分解的过程。
Jack is 100 years old
Jack and 100
2、regexp
匹配字符指令,就是将待测的字符串与正则表达式匹配,完全符合返回1,否则为0,后置参数变量可以接收每层的配置好的结果。
puts [ regexp {^((0x)?[0-9a-fA-F]+|[0-9]+)$} ab ]
#匹配参数服从正则表达式,但是又有区别
#| ---------两项取其一即可
#(0x)? -----对前面项0x进行0次或1次匹配
#[0-9a-fA-F] ---0-9 和a-f的大小写都可出现
#+ -------对于前面的项1次或多次匹配
#^ -------从头开始匹配,头部不符合即失败
#$ -------从尾部匹配,尾部不符合即失败
regexp { ([0-9]+) *([a-z]+)} "there is 00100 apples" total num word
puts $total\n$num\n$word
#第一个变量是整个表达式的结果
#第二个参数是第一次层的子表达式
#第三个参数是第二层的子表达式
#所谓的子表达式,就是括号覆盖的地方
regexp {^((0x)?[0-9a-fA-F]+|[0-9]+)$} 0xab011cdf S1 S2 S3
puts $S1\n$S2\n$S3
1
00100 apples
00100
apples
0xab011cdf
0xab011cdf
0x
第一个是匹配十六进制及10进制的数,匹配成功,结果正常。
第二个是匹配数字加字符串,第一层是全匹配的,第二层前半部分是匹配数字的,第二层后半部分是匹配字符的。
第三个是匹配十六进制和十进制数的,第一层是前后匹配都正确的,第二层是匹配正确的,第三层是0x匹配的。
从第二个和第三个的区别可以看出,regexp后面的传递参数的层数是由括号决定的。{()()}的三个参数依次是大括号、左括号和右括号,{(())}则是外中内依次读取。
TCL基本语法2的更多相关文章
- TCL语言笔记:TCL基础语法
一.什么是TCL Tcl 全称是 Tool command Language.它是一个基于字符串的命令语言,基础结构和语法非常简单,易于学习和掌握. Tcl 语言是一个解释性语言,所谓解释性是指不象其 ...
- TCL基本语法
所有的Tcl文件都以.tcl为扩展名. #!/usr/bin/tclsh puts "Hello, World!" TCL,我们使用新的行或分号终止代码前行.但分号不是必要的,如果 ...
- 【itclx面向对象一】tcl基础语法:过程、作用域、以及itcl面向编程回顾
学习熟悉编程的最好方法就是动手,有点面向编程思维的话,直接练习就可以.直接看demo 1.过程.作用域 #全局变量:过程外定义的变量#局部变量: 过程内部定义的变量 set a 100proc tes ...
- Tcl与Design Compiler (二)——DC综合与Tcl语法结构概述
1.逻辑综合的概述 synthesis = translation + logic optimization + gate mapping . DC工作流程主要分为这三步 Translation : ...
- DC综合与Tcl语法结构概述
转载:https://www.cnblogs.com/IClearner/p/6617207.html 1.逻辑综合的概述 synthesis = translation + logic optimi ...
- Chapter 1. Hello, Perl/Tk
Chapter 1. Hello, Perl/Tk 内容: Perl/Tk Concepts Some Perl/Tk History Getting Started with Perl/Tk Hel ...
- expect ------提供用户名和密码的SSH自动登录脚本
使用VPN,每次都要在Terminal上重复输入命令: ssh -D port user@host 出来密码提示符后,把复杂的密码拷贝下来,然后粘贴到Terminal,敲回车... 终于忍受不了这样的 ...
- Linux Expect自动化交互脚本简介
相关资料 维基百科:Expect SourceForge:The Expect Home Page TCL脚本言语简介 由于Expect是建立在TCL语言基础上的一个工具,因此首先检查一些TCL常见语 ...
- 【转】expect语言学习笔记
上周mentor要求我写一个unix shell 脚本, 以便半夜让服务器自动编译image. 其实我觉得每天我走的时候让服务器编译不也挺好的么... 我懒,假装没听见好不容易赖过去了. ...
- Expect使用小记
By francis_hao May 31,2017 本文翻译了部分Expect的man手册,只选取了个人常用的功能,因此并不完善. Expect是一个可以和交互式程序对话的程序 概述 ...
随机推荐
- Spring Boot学生信息管理系统项目实战-3.专业管理
1.获取源码 源码是捐赠方式获取,详细请QQ联系我 :) 2.实现效果 3.项目源码 只挑重点讲,详细请看源码. 专业管理实现学校专业的增删改查,与学院管理相关联. 前端代码 <!--编辑表单- ...
- ORA-16019 和 ORA-16018 错误的处理方法
一. ORA-16019 和 ORA-16018 错误产生描述 同事在修改归档目录,一不小心把参数设置错误了, 他设置的是log_archive_dest参数. 这个参数和默认log_archive_ ...
- ubuntu16.04 ssh启用root连接
安装好ubuntu16.04 server版默认是不允许客户端ssh工具连接root的. 启用方法如下: 1.设置root密码 dylan@ubuntu:~$ sudo passwd root [su ...
- DVWA sqli
level low 可以看到查询请求为 http://192.168.31.xxx/vulnerabilities/sqli/?id=1&Submit=Submit# ##### id 改为 ...
- NodeJS本地公用类库
git + npm link 先来看一下npm install 文档. npm 支持安装 git 仓库,支持 git , git+ssh , git+http , git+https , or git ...
- PHP项目&RCE安全&调试&追踪&代码执行&命令执行
常见漏洞关键字 SQL注入:select.insert.update.mysql_query.mysqli等 文件上传:$_FILES.type="file".上传.move_up ...
- 2024年,提升Windows开发和使用体验实践 - 终端&命令行篇
前言 经过前面的铺垫,终于继续更新了,这个大概率是本系列近期的最后一篇了. 同时之前有些内容更新,我也补充到这一篇里面. 关于 scoop 管理器的补充 scoop 常用命令 scoop help # ...
- 通过debug搞清楚.vue文件怎么变成.js文件
前言 我们每天写的vue代码都是写在vue文件中,但是浏览器却只认识html.css.js等文件类型.所以这个时候就需要一个工具将vue文件转换为浏览器能够认识的js文件,想必你第一时间就想到了web ...
- 文心一言 VS 讯飞星火 VS chatgpt (209)-- 算法导论15.4 6题
六.设计一个 O(nlgn) 时间的算法,求一个 n 个数的序列的最长单调递增子序列.(提示:注意到,一个长度为 i 的候选子序列的尾元素至少不比一个长度为 i-1 候选子序列的尾元素小.因此,可以在 ...
- 本地部署FastGPT使用在线大语言模型
FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理.模型调用等能力,它背后依赖OneApi开源项目来访问各种大语言模型提供的能力.各大语言模型提供的访问接口规范不尽 ...