A-A+

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

2019年09月20日 20:18:13 腳本 暫無評論 閱讀 0 views 次

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

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]隻能與單個數字匹配,卻不能指明多個數字用于匹配。更複雜的匹配模式需要使用正則表達式。

本站微信公衆賬号,歡迎關注,如有問題可在下方留言也可在公衆賬号提問。

微信公衆賬号
标簽:

給我留言