文字列から複数の英数字値(この数値は異なる場合があります)を照合し、bashキャプチャグループ配列に保存しようとしています。しかし、私は最初の一致のみを取得しています:
mystring1='<link rel="self" href="/unix//api/clouds/1/instances/1BBBBBB"/> dsf <link rel="self" href="/unix//api/clouds/1/instances/2AAAAAAA"/>'
regex='/instances/([A-Z0-9]+)'
[[ $mystring1 =~ $regex ]]
echo ${BASH_REMATCH[1]}
1BBBBBB
echo ${BASH_REMATCH[2]}
ご覧のとおり、最初に探している値と一致しますが、2番目の値とは一致しません。
おそらく有名なあなたは正規表現投稿でHTMLを解析することはできません。
—
デジタル外傷
echo "$mystring1" | grep -oE '/instances/([A-Z0-9]+)'
ますか?