目录

1、过程

1、proc

2、全局变量、局部变量

2、字符串匹配

1、通配符匹配

2、正则匹配

2.1、基本知识

2.2、匹配命令

参考说明



续上篇,继续学习 Tcl 语言 ……


1、过程

1、proc

语法:

proc 函数名 {参数列表} {
函数主体
}

示例:

2、全局变量、局部变量

全局变量:所有过程外定义的变量;

局部变量:过程中定义的变量,仅在过程中访问,过程退出时,自动删除。

global 指令,可以在过程内部引用全局变量。

示例:

2、字符串匹配

Tcl 中的匹配主要分为两种:通配符匹配和正则匹配。前者简单易懂。

1、通配符匹配

示例:

2、正则匹配

正则表达式的模式存在多层结构,基本单位为原子。可以简单理解为,正则匹配实际上就是将待匹配字符串与各原子的匹配。

2.1、基本知识

正则表达式中,特殊字符的含义表:

2.2、匹配命令

语法:regexp 指定选项 正则表达式模式 输入字符串 参数1 参数2 ……
含义:一般可以不用参数1 参数2等输入,只用前面输入即可。返回 1 表示匹配,0 表示不匹配
若含有参数,则参数1 返回内容为 已经匹配到的字符串的第一个子字符串参数2 返回内容为 已经匹配到的字符串的第二个子字符串参数3 ……
选项:
-start 后面跟一个待匹配字符串的字符索引,指定开始匹配的位置
-all 查找尽量多的匹配次数,并返回匹配的次数
-nocase 匹配时不区分大小写
-indices 额外的参数不用于存放已匹配的子字符串,而是存放其首尾字符的索引号(0开始)
-inline 将匹配变量返回为列表
-line 激活换行匹配

示例:

参考说明

【1】Ousterhout等 美 John K. Tcl/Tk入门经典[M]. 清华大学出版社, 2010. 第Ⅰ部分 第5、9章。

Tcl 语言——过程与字符串匹配篇相关推荐

  1. c语言给定一个字符串匹配,使用C语言解决字符串匹配问题的方法

    最常想到的方法是使用KMP字符串匹配算法: #include #include #include int get_nextval(char *pattern,int next[]) { //get t ...

  2. 字符串匹配值Sunday算法

    实现strStr() 题目:实现 strStr() 实现 strStr() 函数.给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符 ...

  3. 算法五——字符串匹配(上)

    文章内容.图片均来自极客时间. 如何借助哈希算法实现高效字符串匹配 1 概念和用途 字符串匹配:查找一个字符串A在字符串B中是否出现,这个过程就是字符串匹配.A称为模式串,B称为主串.主串的长度记为n ...

  4. 字符串匹配的KMP算法和C语言代码,不需要思考就能理解

    KMP算法用于判断一个字符串是否包含另一个字符串,如果包含就返回脚标.其实KMP算法本身特别简单,我看了几篇本章都号称简单易懂,结果看得我云里雾里,直到我看到了阮一峰:字符串匹配的KMP算法,才真正看 ...

  5. 字符串匹配(多模式匹配篇)

    字符串匹配(多模式匹配篇) 摘要: 问题的提出:众所周知,KMP算法在O(n)的时间中solve单模式串匹配问题.但怎样solve多模式串匹配问题呢? Solve:本文用简要记叙了使用trie树,tr ...

  6. C语言实现字符串匹配并返回匹配字符串

    最近在写一个程序,需要用到字符串匹配,并且返回匹配的字符串,C语言库函数中的strtstr无法满足我的要求,只能自己写了. 代码如下 //string match function char *mat ...

  7. R语言stringr包str_count函数计算字符串匹配个数实战

    R语言stringr包str_count函数计算字符串匹配个数实战 目录 R语言stringr包str_count函数计算字符串匹配个数实战 #导入stringr包 #仿真数据

  8. C语言实现字符串匹配KMP算法

    相信很多人(包括自己)初识KMP算法的时候始终是丈二和尚摸不着头脑,要么完全不知所云,要么看不懂书上的解释,要么自己觉得好像心里了解KMP算法的意思,却说不出个究竟,所谓知其然不知其所以然是也. 字符 ...

  9. C语言(CED)多组字符串匹配,输出所有重复出现的字符串,多次重复出现的只输出一次就好。

    最近遇到一道题目:多组字符串匹配,输出所有重复出现的字符串,多次重复出现的只输出一次就好. 举个例子: input:qwer qwer sdfgh output:qwer 题意大致就是这样,下面给出我 ...

  10. 字符串匹配——KMP算法【C语言】

    KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特-莫里斯-普拉特操作(简称KMP算法).KMP算法的核心是利用匹配失败后 ...

最新文章

  1. mysql gtid 开启失败,master--1.1.3-SNAPSHOT版本,启用GTID,启动失败
  2. 使用这个库,让你的服务操作 Redis 速度飞起
  3. java薪资年龄交叉表_巧用参数实现交叉表行列互换
  4. php里运行js,在PHP 中运行JS - mickelfeng的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. java操作阿里云的对象存储OSS
  6. 安卓学习笔记07:事件处理、窗口跳转与传递数据
  7. java 全局代码区_MyEclipse设置全局编码
  8. POJ 3414 Pots(BFS + 打印路径)
  9. 小程序超过2M限制的方法——分包加载
  10. 学习笔记-团队绩效管理
  11. The Apostle's Creed
  12. 入职阿里巴巴的正确姿势
  13. 2020中国人工智能产业链企业图谱(名单)
  14. 功能安全标准-ISO26262-3---概念阶段---ASIL(汽车安全完整性等级)等级确定方法
  15. 图像透视投影变换 四边形——标准矩形
  16. 520礼物清单、送男友实用礼物排行榜
  17. 树莓派魔镜MagicMirror —— 7 安装MagicMirror
  18. 机械一体化有包含计算机专业吗,机电一体化专业有哪些优势?
  19. 怎么提取图片文字?掌握这些方法就可以
  20. 计算机控制系统AD实验报告,实验一AD转换实验报告

热门文章

  1. Unity打包APK多语言包名的适配
  2. 树莓派搭建transmission下载机
  3. Linux系统中PostgreSQL客户端的安装
  4. PostgreSQL客户端安装
  5. android 下载目录,android – FileProvider – 从下载目录中打开文件
  6. 数字逻辑实验一--组合逻辑电路的设计
  7. libtorch-gpu推理时占用CPU 100%问题解决
  8. 在VirtualBox的虚拟机上安装和使用NCS2(intel movidius stick 2)
  9. 【js特效】一款不错的flash视频播放器
  10. python实现文件管理系统_Python - 文件管理系统