2
我已經看過幾個線程,只是似乎無法得到它的工作。很明顯,我的正則表達式和/或bash_rematch是一個問題。正則表達式來提取括號內的值
將有永遠只能是4×一MAX()的
有以下bash腳本:
#!/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
預期的輸出應該是:
entry1
entry2
entry3
entry4
電流輸出:
(entry1) some more random data (entry2) random (entry3) random data (entry4)
entry1) some more random data (entry2) random (entry3) random data (entry4
非常感謝 - 這工程100% – Greg
有多麼容易將將這些值分配給變量。所以Var1 = entry1,Var2 = entry2等 – Greg
它可以賦值給一個數組:arr =($(grep -oP'\(\ K [^)] *'<<<「$ text」))' – anubhava