Я пытаюсь сопоставить некоторые строки с регулярным выражением, содержащим цифры.
Bash версия 3.2.25:
#!/bin/bash
s="AAA (bbb 123) CCC"
regex="AAA \(bbb \d+\) CCC"
if [[ $s =~ $regex ]]; then
echo $s matches $regex
else
echo $s doesnt match $regex
fi
Результат:
AAA (bbb 123) CCC doesnt match AAA \(bbb \d+\) CCC
Если я положил regex="AAA \(bbb .+\) CCC"
, он работает, но он не соответствует моему требованию, чтобы соответствовать только цифрам.
Почему \d+
не соответствует 123
?