只需要寫一個正則表達式來匹配以下字符串集。我想寫這符合以下所有字符串TCL編寫正則表達式所需的幫助 - TCL
I)(XYZ XZZ XVZ XWZ)
線索的表達式:啓動串是X和Z結尾的字符串是相同的所有對。只有中間的字符串不同YZV W.
我的審判:[regexp {^X([Y|Z|V|W]*)Z$}]
我想寫一個正則表達式的另一個捕獲它/只以下字符串的地方來
II匹配)(XYZ)
我的試用版:[regexp {^X([Y]*)Z$}]
或簡單地regexp {^XYZ$}
只是想確保其正確的做法。是否有可用的任何其他方式來優化正則表達式:)
我)第一次測試題
set to_Match_Str "XYZ XZZ XVZ XWZ"
foreach {wholeStr to_Match_Str} [regexp -all -inline {X[YZVW]Z} $to_Match_Str] {
puts "MATCH $to_Match_Str in the list"
}
只會打印XZZ XWZ從列表中。它的葉子XYZ & XVZ 當我包含paranthesis [regexp -all -inline {X([YZVW])Z} $ to_Match_Str]。它打印出所有的中間人物正確YZVW
好吧,它沒有比Tcl核心團隊成員的回答更具權威性。乾杯。 :) – 2010-05-02 11:08:10
這個問題唯一棘手的問題是確切地解決了問題。 (正常情況下,那些熟練提問的人通常不需要首先提問,所以我更願意幫助人們提出更好的問題:-)) – 2010-05-02 11:51:42
@Donal第1個問題測試 set to_Match_Str「 XYZ XZZ XVZ XWZ」 的foreach {wholeStr to_Match_Str}正則表達式 - 所有-inline {X [YZVW] Z} $ to_Match_Str] { 提出 「MATCH $ to_Match_Str列表中的」 } 只會打印XZZ XWZ從列表。它包含XYZ和XVZ當我包含paranthesis [regexp -all -inline {X([YZVW])Z} $ to_Match_Str]。它將正確打印所有中間字符Y Z V W – user330727 2010-05-03 01:24:30