我正在尝试将一些行与包含数字的正则表达式进行匹配。
重击版本 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
?