【问题标题】:What is the difference between string "match" and string "equal" in TCLTCL中字符串“match”和字符串“equal”有什么区别
【发布时间】:2018-02-06 04:24:38
【问题描述】:

在 TCL 中,字符串“match”和字符串“equal”有什么区别。 它们几乎相同,所以我无法检测到它们之间的区别。

【问题讨论】:

  • 不是重复的。

标签: string shell scripting tcl


【解决方案1】:

string equal 逐字符比较两个字符串,如果它们都包含相同的字符,则返回 1(区分大小写:可以覆盖)。

string match 将字符串与glob 样式的模式进行比较,如果字符串匹配该模式,则返回 1。

在退化的情况下,模式中只有非特殊字符的string match 等效于string equal

文档: string

Tcl 字符串匹配的语法:

  • * 匹配零个或多个字符的序列
  • ? 匹配单个字符
  • [chars] 匹配由 chars 给出的集合中的单个字符(^ 不会 not 否定;范围可以作为 az 给出)李>
  • \x 匹配字符 x,即使该字符是特殊字符(*?[]\ 之一)

【讨论】:

    【解决方案2】:

    已经回答 TCL string match vs regexps 正则表达式比基本函数慢。所以你应该避免使用正则表达式进行相等检查

    【讨论】:

    • 虽然总的来说这是个好建议,但它基本上与这个问题无关,因为它与正则表达式匹配无关。
    猜你喜欢
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    • 2011-02-26
    • 1970-01-01
    • 2011-03-19
    • 2011-09-05
    相关资源
    最近更新 更多