#!/usr/bin/tcl

set s [lindex $argv 0]
if {$s == {}} {set s "textvariable"}

proc rexp {s} {
    lassign [split $s {%/<>}] base ext
#puts "base:$base ext:$ext"
    foreach c [concat {{}} [regexp -all -inline -- {\w} $ext]] {
#puts "c:$c:"
        lappend rlist "^[append base $c]\$"
    }
    return [join $rlist |]
}

#puts "regexp:[regexp -- {^textv$|^textva$|^textvar$|^textvari$|^textvaria$|^textvariab$|^textvariabl$|^textvariable$} $s]"
puts "rexp:[rexp textv]"
puts "regexp:[regexp -- [rexp textv%ariable] $s]"
