0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

学习Tcl来这里:字符串匹配

电子工程师 来源:未知 作者:李倩 2018-09-21 11:14 次阅读

所谓字符串匹配是指检测待测字符串(也可称为目标字符串)是否与给定的模式相匹配。这里的模式其实也是字符串。Tcl提供了两种字符串匹配方法:一种为通配符模式,一种为正则表达式。这里先介绍较为简单易用的通配符匹配模式。这时要用到命令string match。该命令需要接受两个参数,一个是匹配模式,一个是待测字符串。若两者匹配则返回1,否则返回0。string match可支持的模式如下图所示。

案例1:使用*匹配

案例2:使用?匹配

这里可以看到如果需要匹配两个字符,就要使用两个?,即代码种的“??”。

案例3:使用[]匹配

案例4:较为复杂的[]匹配

这里可以看到[a-z0-9]和[a-z][0-9]是不同的,前者匹配一个字符,后者匹配两个字符,其种一个为字母,另一个为数字,所以字符串9s与[a-z0-9]*匹配,但与[a-z][0-9]*不匹配。这里模式字符串要用花括号{}括起来,否则Tcl解释器看到[]会认为是嵌套命令,从而报错。

案例5:匹配特殊字符

案例6:较为复杂的特殊字符匹配

这里通过匹配特殊字符[],通过[0-9]匹配数字。

也可以把模式字符串设置为变量。此时如果使用了[]匹配,一定要用{}以阻止命令置换。

string match还有提供了选项-nocase,指定匹配时不区分大小写。

结论:

-string match用于字符串匹配,可提供* ? [] 四种匹配模式

-最好用花括号{}把模式字符串括起来

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • TCL
    TCL
    +关注

    关注

    10

    文章

    1710

    浏览量

    88392
  • 字符串
    +关注

    关注

    1

    文章

    567

    浏览量

    20455

原文标题:Tcl的字符串操作:字符串匹配

文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA技术驿站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    字符串函数测试学习工程

    字符串函数测试学习工程
    发表于 07-01 16:38 6次下载

    字符字符串的显示原理

    字符字符串的显示原理     1.字符的表示方法    现代计算机不仅处理数值领域的问题,而且处理大量非数值领域的问题。这样一,必然要
    发表于 04-13 11:38 9909次阅读

    Tcl学习之如何获取字符

    Tcl中并不需要显示地指定变量的数据类型,因为Tcl本身将所有的变量值视为字符串,并将他们作为字符串保存,可见,
    的头像 发表于 09-23 10:12 4967次阅读

    C语言字符串匹配和数据提取源码

    C语言字符串匹配与数据提取源码
    的头像 发表于 02-27 15:42 2336次阅读
    C语言<b class='flag-5'>字符串</b><b class='flag-5'>匹配</b>和数据提取源码

    LabVIEW的常用字符串操作教程免费下载

    。主要包括常用工具字符串函数、字符串常量、字符串/数值转换、字符串/数组/路径转换和附加字符串函数本文主要讲替换和
    发表于 08-21 14:51 25次下载
    LabVIEW的常用<b class='flag-5'>字符串</b>操作教程免费下载

    什么是复制字符串?Python如何复制字符串

    连续几篇文章都在写 Python 字符串,这出乎我的意料了。但是,有的问题,不写不行,特别是那种灵机一动想到的问题,最后你发现,很多人根本不懂却又误以为自己懂了。那就继续刨根问底,探究个明白吧
    发表于 11-25 10:32 2969次阅读

    2.2 python字符串类型

    2.2 python字符串类型 1. 如何定义字符串字符串是Python中最常用的数据类型之一。 使用单引号或双引号创建字符串,使用三
    的头像 发表于 02-17 17:08 1383次阅读

    字符串操作

    labview字符串操作
    发表于 06-28 15:09 2次下载

    平化字符串处理方法简介

    这里介绍一组有用的字符串处理方法,即平化至字符串和从字符串还原。
    的头像 发表于 09-26 10:20 2196次阅读

    python字符串有哪些特定方法

    python字符串序列操作也适用于列表和元组。 python字符串还有独有方法,即字符串对象的函数,其他对象不可调用,只有字符串对象可调用。
    的头像 发表于 02-23 15:02 647次阅读

    浅析python字符串模式匹配

    python字符串可以通过re模块的模式匹配来处理文本。
    的头像 发表于 02-23 15:04 2278次阅读

    字符串的相关知识

    TCL 中的数据类型只有一种:字符串。这些字符串可以是字母、数字、布尔值、标点符号等特殊字符的组合。在某些特殊命令的作用下,字符串可以向其他
    的头像 发表于 03-29 11:41 1049次阅读

    mysql字符串包含某个字符串

    将详尽、详实、细致地探讨MySQL中字符串包含的实现方法。 在MySQL中,可以通过使用内建函数和通配符实现字符串包含的操作。下面将详细介绍几种常用的方法: 使用LIKE通配符: LIKE是MySQL中用于模式
    的头像 发表于 11-16 14:52 3498次阅读

    c语言字符串定义

    字符串的定义、初始化、操作和常见问题。 字符串的定义和初始化 在C语言中,字符串被定义为一个字符数组。可以通过两种方式定义和初始化
    的头像 发表于 11-24 10:02 1716次阅读

    labview字符串如何转换为16进制字符串

    在LabVIEW中,将字符串转换为16进制字符串是一个常见的需求,尤其是在处理数据通信和硬件接口时。LabVIEW提供了多种方法实现这一转换,包括使用内置函数、编写VI(Virtual
    的头像 发表于 09-04 15:54 1333次阅读