我正在尝试从字符串中匹配多个字母数字值(此数字可能有所不同),并将它们保存到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]}
如您所见-它与我要查找的第一个值匹配,但与第二个值不匹配。
也许值得一提的是著名的“不能用正则表达式解析HTML”。
—
Digital Trauma 2015年
echo "$mystring1" | grep -oE '/instances/([A-Z0-9]+)'
?