我正在尝试使用reqex,模式匹配,将此字符串拆分为单独的变量 abc12c20m 。其中:
var1=abc
var2=12
var3=20
exp abc2c5m 的主字符串可能不同,但 abc 部分始终相同且 c 且 m 总是在字符串中。一个解决方案必须适用于 abc12c20m 和 abc2c5m 。
任何帮助将不胜感激。
答案 0 :(得分:1)
您可以使用BASH正则表达式:
s='abc12c20m'
if [[ "$s" =~ ^(abc)([0-9]+)c([0-9]+)m$ ]]; then
var1=${BASH_REMATCH[1]}
var2=${BASH_REMATCH[2]}
var3=${BASH_REMATCH[3]}
fi
echo "$var1 - $var2 - $var3"
abc - 12 - 20