小编Art*_*nko的帖子

Bash 正则表达式捕获组

我正在尝试从一个字符串中匹配多个字母数字值(这个数字可能会有所不同),并将它们保存到一个 bash 捕获组数组中。但是,我只得到第一场比赛:

mystring1='<link rel="self" href="/api/clouds/1/instances/1BBBBBB"/> dsf <link rel="self" href="/api/clouds/1/instances/2AAAAAAA"/>'

regex='/instances/([A-Z0-9]+)'

[[ $mystring1 =~ $regex ]]

echo ${BASH_REMATCH[1]}
1BBBBBB

echo ${BASH_REMATCH[2]}
Run Code Online (Sandbox Code Playgroud)

如您所见 - 它与我正在寻找的第一个值匹配,但与第二个值不匹配。

bash regular-expression

35
推荐指数
2
解决办法
6万
查看次数

标签 统计

bash ×1

regular-expression ×1