我正在尝试将一些行与包含数字的正则表达式进行匹配。
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"
,它可以工作,但它不能满足我的要求,只匹配数字。
为什么123
和\d+
不匹配?
https://stackoverflow.com/questions/17968020
复制相似问题