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

    文章

    1657

    浏览量

    87927
  • 字符串
    +关注

    关注

    1

    文章

    548

    浏览量

    20105

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

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

收藏 人收藏

    评论

    相关推荐

    输入字符串与已有字符串匹配

    一个基于LABVIEW的网上预约系统,先把所有人的学号放在一个字符串组,当输入一个学号时,怎么从已有的学号组中匹配自己输入是否正确?
    发表于 03-06 21:07

    匹配字符串中-----正则表达式的使用

    关于:匹配字符串中-----正则表达式的使用和大家分享一下
    发表于 03-20 11:11

    数据转换、SQL存储,十六进制字符串、正常字符串

    转换为字节数组,再使用数值转字符串,注意,此时需要规定宽度,之后将字符串数组连接起来就可以了。下面既是将正常显示的字符串转回十六进制,相当于还原数据,此时这里的除数就是之前使用的宽度值
    发表于 05-27 10:29

    请问大神如何匹配字符串中的多个对象?

    例如字符串为[儿童剧]《舞法天女朵法拉》 第28集,如何把 儿童剧、舞法天女朵法拉、28 这几个对象用正则表达式匹配并获取到?
    发表于 07-31 09:23

    关于匹配字符串的问题.

    如题,如何在一个一维字符串数组中提取所有带有小数点的字符串,思路我已经想好了,可是正则表达式的匹配指令没看懂,烦劳哪位大佬帮帮忙,嘻嘻
    发表于 02-01 11:50

    Linux Shell系列教程之Shell字符串用法

    [linuxdaxue @linuxdaxue ~]$ echo ${test%%/*}${变量名#substring正则表达式}从字符串开头开始配备substring,删除匹配上的表达式。${变量名%substring
    发表于 08-29 16:01

    匹配模式拆分组合字符串

    匹配模式拆分组合字符串,大家可以参考一下!
    发表于 12-11 14:09

    字符串拆分

    串口连续传来如是字符串”V-12.98C0.18“希望把字符串拆分为V后的为一组数,C后的为一组数。上述字符串应该拆为-12.98和0.18。我尝试了用匹配模式
    发表于 05-22 11:57

    为什么字符串和unsigned char *不匹配,如何才能做到匹配

    如图所示,报了字符串和unsigned char *不匹配的错误,需要如何更改
    发表于 11-11 14:52

    什么是指向字符串指针?

    组成的句子,在C语言中被称为“字符串”。  了解完字符串是由多个字符组成的之后,想要存储字符串就变得非常容易了,我们只需要定义多个变量存储
    发表于 03-15 14:19

    有什么方法可以快速实现模式字符串匹配查找吗?

    基于IXP2400和FPGA的系统结构是怎样的?模式字符串匹配过程是如何实现的?有什么方法可以快速实现模式字符串匹配查找吗?
    发表于 04-14 06:22

    Tcl学习之如何获取字符

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

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

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

    平化字符串处理方法简介

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

    浅析python字符串模式匹配

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