Is it possible to define multiple characters as delimiter with IFS / BASH_REMATCH?
Error on the first string part does not complete return.
Code:
string="[house-b 10] [river-a 5] [wood-e 15] [car-c 20]"
split="] ["
result0="[house 10"
result1="river 5"
result2="wood 15"
result3="car 20]"
Code:
str="[house-b 10] [river-a 5] [wood-e 15] [car-c 20]"
while [[ $str =~ ([\[][-|0-9 a-zA-Z.:]+[\]]) ]]; do echo ${BASH_REMATCH[1]:1:${#BASH_REMATCH[1]}-2}; str=${str:${#BASH_REMATCH[1]}}; done