Просто ищет возможность писать регулярное выражение, чтобы соответствовать следующему набору строк. Я хочу написать выражение, которое соответствует всем следующие строки TCLПомощь, необходимая для написания регулярных выражений - TCL
я) (XYZ XZZ XVZ XWZ)
Clue: Начальная строка X и Z окончание строки одинаков для всех пар. Только средняя строка отличается YZV W.
Моей проба: [regexp {^X([Y|Z|V|W]*)Z$}]
Я хочу написать еще одно регулярное выражение, которое улавливает/соответствует только следующей строке, где приходит
II) (XYZ)
Моя пробная версия: [regexp {^X([Y]*)Z$}]
или просто regexp {^XYZ$}
Просто хочу убедиться, что это правильный подход. Есть ли другой способ доступен для оптимизации регулярных выражений :)
I) 1-й проверялось
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. Приветствия. :) –
Единственный сложный вопрос в этом вопросе заключался в том, чтобы выяснить, что именно было задано. (Как обычно, тех, кто умеет задавать вопросы, обычно не нужно спрашивать в первую очередь. Поэтому я предпочитаю попытаться помочь людям задавать более качественные вопросы. :-)) –
@ Протестирован первый 1-й вопрос установлен to_Match_Str " XYZ XZZ XVZ XWZ» Еогеасп {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