РассмотримКак проверить, было ли добавлено определенное значение в ряду значений в XML prop?
set data {<prop>red;blue;green</prop>}
Я могу добавить новый цвет с помощью
incr count [regsub -all -- \
[appendArgs (< $name >)(.*?)(</ $name >)] $data [appendArgs \
\\1 $newValue \\3] data]
где новое_значение определяется
set newValue [join \
[list \\2 [string map [list \\ \\\\] $value]] $separator]
, если значение "розовый", я в конечном итоге с
<prop>red;blue;green;pink</prop>
Если я запустить его снова, я получаю
<prop>red;blue;green;pink;pink</prop>
Можно ли переписать регулярное выражение для проверки $ значения, и только добавить его, если он отсутствует? Кроме того, он должен уметь обрабатывать
<prop>red;blue;pink;green</prop>
Я попробовал ((?! $ Value)), но на самом деле это не сработало. Любая помощь очень ценится.