I've looked at a few threads on this and just can't seem to get it working. Clearly an issue with my regex statement and/or bash_rematch.
There will only ever be a max of 4 x ()'s
Have the following bash script:
#!/bin/bash
brackets_regex="\((.*?)\)"
text="random date (entry1) some more random data (entry2) random (entry3) random data (entry4)"
if [[ $text =~ $brackets_regex ]]; then
echo ${BASH_REMATCH[0]};
echo ${BASH_REMATCH[1]};
echo ${BASH_REMATCH[2]};
echo ${BASH_REMATCH[3]};
fi
Expected output should be:
entry1
entry2
entry3
entry4
Current output:
(entry1) some more random data (entry2) random (entry3) random data (entry4)
entry1) some more random data (entry2) random (entry3) random data (entry4