A-A+

TCL中的字符串匹配命令string match

2019年11月19日 脚本 阅读 7,632 views 次

在TCL中可以使用命令stringmatch进行字符串的匹配,命令格式如下:

string match ?-nocase? pattern string

如果pattern与string匹配则返回1,否则返回0.如果指定了-nocase选项则不区分大小写,否则在匹配时区分大小写。在进行字符串匹配时可以使用如下通配符:

* 可以与零个或多个任意字符组成的字符串匹配;

? 可以与一个任意字符匹配;

[chars] 与chars中的任意一个字符匹配,如果chars的内容包括范围表达式a-b,那么a到b之间的任意个字符都可以匹配,包括a和b;

\x 与单个字符x匹配,可以用于指定会被特殊处理的字符,如*?[]\.

示例:

string match a* alpha

→1

string match a* bat

→0

string match {[ab]*} brown

→1

string match a* Arizona

→0

string match -nocase a* Arizona

→1

string match {*\?} "Wow! "

→0

string match {*\?} "What? "

→1

通配符样式的模式可以完成很多简单的任务。例如,*.[ch]就可以用来匹配所有以.c或.h结尾的字符串。然而,更复杂的匹配模式无法由通配符样式完成。例如,无法由通配符样式的模式检测一个字符串是否包含了所有的数字:模式[1-9]只能与单个数字匹配,却不能指明多个数字用于匹配。更复杂的匹配模式需要使用正则表达式。

个人公众号“数字化设计CAX联盟”,欢迎关注,共同交流
标签:
为您推荐:

给我留言

© 坐倚北风 版权所有 严禁镜像复制 苏ICP备15034888号. 基于 Ality 主题定制 AliCMS
联系邮箱:leanwind@163.con,微信公众号:数字化设计CAX联盟

用户登录

分享到: