foo:collection:indexation [options] [--] <text> <text_1> <text_2> <text_3> <text_4>
一個字符串,我想使用bash正則表達式來得到一個數組或字符串,我可以拆分得到這個以檢查語法是否正確
["text", "text_1", "text_2", "text_3", "text_4"]
我試圖做到這一點:
COMMAND_OUTPUT=$($COMMAND_HELP)
# get the output of the help
# regex
ARGUMENT_REGEX="<([^>]+)>"
GOOD_REGEX="[a-z-]"
# get all the arguments
while [[ $COMMAND_OUTPUT =~ $ARGUMENT_REGEX ]]; do
ARGUMENT="${BASH_REMATCH[1]}"
# bad syntax
if [[ ! $ARGUMENT =~ $GOOD_REGEX ]]; then
echo "Invalid argument '$ARGUMENT' for the command $FILE"
echo "Must only use characters [a-z:-]"
exit 5
fi
done
但同時,似乎並不恰當,因爲我總是第一個匹配。
我怎樣才能得到這個正則表達式的所有匹配?
謝謝!