我有一個字符串如下解析字符串中的所有比賽在TCL
set temp "
temp : value
temp1 : value1
tempvalue
abc = 23:445:726
abcdef = 456::985
abcdef = 123:45:7
abcdef = 098:45:56:8
"
在此我想要的輸出,其中值之後「=」應該被設置爲一個變量。輸出應該是
"456::985 123:45:7 098:45:56:8".
我用
set result [regexp "abcdef\\s*=\\s*(\\S*)" $temp match v1]
,但沒能獲得所有
我有使用正則表達式與-inline -all和直插式的答案,將結果存儲在列表,然後遍歷它來獲取值。我需要一個襯墊
set result [regexp -inline -all -line "abcdef\\s*=\\s*(\\S*)" $temp]
輸出是
{abcdef = 456::985} 456::985 {abcdef = 123:45:7} 123:45:7 {abcdef = 098:45:56:8} 098:45:56:8
然後通過這個遍歷設置它們都在同一個字符串。但我想知道是否有任何簡單的方法來做到這一點。 在此先感謝。
感謝您的回答。但在我的情況下,我會有一些由「:」分隔的情況,這也是結果。你能不能使用「-line」選項給我一個建議。通過在python中使用正則表達式的反向引用 – Myjab
如果您要更改需求,則必須更新您的問題以提供更好的示例。 –
我已修改它,你可以請現在檢查 – Myjab