問題:http://codeforces.com/contest/64/problem/F
参加形式:本番
文字列が与えれる.数字とアルファベットの小文字とドット(.)で構成されており,行頭と末尾がドットではなく,最後のドットの後の文字数が2または3であるかどうかを求める.
正規表現+ドットで区切られた文字列の長さを検査.
コード
gets stdin line if [regexp {^[0-9a-z.]*$} $line] { set li [split $line "."] foreach {v} $li { if [llength $v]<1 { puts "NO" return } } set len [string length [lindex $li end]] if $len!=2&&$len!=3 { puts "NO" return } puts "YES" } else { puts "NO" }