【发布时间】:2012-03-15 09:00:18
【问题描述】:
如何检查字符串是否遵循某种模式?
例如,我有 $var 存储“hello.txt”,而我想要匹配的模式是“^(.+).txt$”(即任何具有“[any text here].txt”的内容
【问题讨论】:
标签: regex string shell comparison
如何检查字符串是否遵循某种模式?
例如,我有 $var 存储“hello.txt”,而我想要匹配的模式是“^(.+).txt$”(即任何具有“[any text here].txt”的内容
【问题讨论】:
标签: regex string shell comparison
您也可以使用 shell glob 模式:
if [[ "$var" == *.txt ]]; then ...
case "$var" in
*.txt) do something ;;
*) do something else ;;
esac
【讨论】:
使用 bash 内置 =~ 你可以这样做:
if [[ "aaaa" =~ a+ ]]
then
echo "ok"
else
echo "no"
fi
【讨论】:
bash 扩展。