Tôi đang cố gắng khớp nhiều giá trị chữ và số (số này có thể thay đổi) từ một chuỗi và lưu chúng vào mảng nhóm chụp bash. Tuy nhiên, tôi chỉ nhận được trận đấu đầu tiên:
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]}
Như bạn có thể thấy - nó khớp với giá trị đầu tiên tôi đang tìm, nhưng không phải giá trị thứ hai.
Có lẽ đáng để đề cập đến sự nổi tiếng Bạn không thể phân tích HTML bằng bài đăng regex .
—
Chấn thương kỹ thuật số
echo "$mystring1" | grep -oE '/instances/([A-Z0-9]+)'
?