假設我有一個清單
set a [list powerball gummy3 slash]
我想做一個自動正則運算式來查找其他類似的串列
set b [list notaaball gummy2 slosh]
set c [list notlist notgummy notslash]
我想匹配串列 b 但不是 c,因為元素數量與 a 相同,并且它具有相同數量的字符。
我需要計算串列成員中的字符,還是需要找到一些 \S 正則運算式來匹配它?
uj5u.com熱心網友回復:
這不是正則運算式的作業。正則運算式在計算事物方面很糟糕。相反,使用llengthandforeach和string length。并將其放入一個程式中:
proc listMatch {list1 list2} {
if {[llength $list1] != [llength $list2]} {
return false
}
foreach a $list1 b $list2 {
if {[string length $a] != [string length $b]} {
return false
}
}
return true
}
這樣做的好處是可以處理您沒有想到的邊緣情況(例如帶有嵌入空格的元素)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/531332.html
標籤:正则表达式tcl
