You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Tcl regexp校验字符串是否仅含小写字母?

Tcl regexp 校验全小写字符串的正确写法

原代码的问题

  • Tcl 的regexp命令不需要用/包裹正则表达式,也不支持g修饰符,这是JavaScript等语言的语法,Tcl直接写正则内容即可。
  • ^[a-z]$仅能匹配单个小写字母,无法匹配长度大于1的全小写字符串——^匹配字符串开头,$匹配结尾,中间的[a-z]只能匹配一个字符。

正确的校验写法

要确保输入字符串仅包含小写字母(至少1个字符),使用正则^[a-z]+$,其中+表示匹配前面的小写字母至少一次。如果允许空字符串,把+换成*即可。

修正后的代码示例:

set name aAaaaA
if { [regexp {^[a-z]+$} $name] } {
   puts "continue"
} else {
   puts "String is not lowercase. Please enter again"
}

检查非小写字母的写法

如果要判断字符串中是否存在非小写字母(大写、符号等),可以用正则[^a-z](匹配任何不是小写字母的字符),示例:

set name aAaaaA
if { [regexp {[^a-z]} $name] } {
   puts "String contains non-lowercase characters. Please enter again"
} else {
   puts "continue"
}

内容的提问来源于stack exchange,提问作者ww96jazz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 19:45:43