- 删除最短的前缀匹配子串:
#
格式:${str#${prefix}}
从<str>的最左边开始匹配<prefix>,一旦满足,则删除匹配上的子串。
################### = "aabaabABBABB"
${aabaabABBABB#a} = "abaabABBABB" # match="a"
${aabaabABBABB#aa} = "baabABBABB" # match="aa"
${aabaabABBABB#aab} = "aabABBABB" # match="aab"
${aabaabABBABB#ab} = "aabaabABBABB" # match=""
#################### = "aabaabABBABB"
${aabaabABBABB#*a} = "abaabABBABB" # match="a"
${aabaabABBABB#*aa} = "baabABBABB" # match="aa"
${aabaabABBABB#*aab} = "aabABBABB" # match="aab"
${aabaabABBABB#*ab} = "aabABBABB" # match="aab"
#################### = "aabaabABBABB"
${aabaabABBABB#a*} = "abaabABBABB" # match="a"
${aabaabABBABB#aa*} = "baabABBABB" # match="aa"
${aabaabABBABB#aab*} = "aabABBABB" # match="aab"
${aabaabABBABB#ab*} = "aabaabABBABB" # match=""
我们看到把*
放在后面,结果和没有*
是一样的,可以这么理解,因为#
运算符本来就是前缀匹配,设想自动就带有*
左右结尾。
- 删除最长的前缀匹配子串:
##
#################### = "aabaabABBABB"
${aabaabABBABB##a} = "abaabABBABB" # match="a"
${aabaabABBABB##aa} = "baabABBABB" # match="aa"
${aabaabABBABB##aab} = "aabABBABB" # match="aab"
${aabaabABBABB##ab} = "aabaabABBABB" # match=""
#################### = "aabaabABBABB"
${aabaabABBABB##*a} = "bABBABB" # match="aabaa"
${aabaabABBABB##*aa} = "bABBABB" # match="aabaa"
${aabaabABBABB##*aab} = "ABBABB" # match="aabaab"
${aabaabABBABB##*ab} = "ABBABB" # match="aabaab"
##################### = "aabaabABBABB"
${aabaabABBABB##a*} = "" # match="aabaabABBABB"
${aabaabABBABB##aa*} = "" # match="aabaabABBABB"
${aabaabABBABB##aab*} = "" # match="aabaabABBABB"
${aabaabABBABB##ab*} = "aabaabABBABB" # match=""
- 删除最短的后缀匹配子串:
%
################### = "aabaabBAABAA"
${aabaabBAABAA%A} = "aabaabBAABA" # match="A"
${aabaabBAABAA%AA} = "aabaabBAAB" # match="AA"
${aabaabBAABAA%BAA} = "aabaabBAA" # match="BAA"
${aabaabBAABAA%AB} = "aabaabBAABAA" # match=""
#################### = "aabaabBAABAA"
${aabaabBAABAA%*A} = "aabaabBAABA" # match="A"
${aabaabBAABAA%*AA} = "aabaabBAAB" # match="AA"
${aabaabBAABAA%*BAA} = "aabaabBAA" # match="BAA"
${aabaabBAABAA%*AB} = "aabaabBAABAA" # match=""
#################### = "aabaabBAABAA"
${aabaabBAABAA%A*} = "aabaabBAABA" # match="A"
${aabaabBAABAA%AA*} = "aabaabBAAB" # match="AA"
${aabaabBAABAA%BAA*} = "aabaabBAA" # match="BAA"
${aabaabBAABAA%AB*} = "aabaabBA" # match="ABAA"
- 删除最长的后缀匹配子串:
%%
################### = "aabaabBAABAA"
${aabaabBAABAA%%A} = "aabaabBAABA" # match="A"
${aabaabBAABAA%%AA} = "aabaabBAAB" # match="AA"
${aabaabBAABAA%%BAA} = "aabaabBAA" # match="BAA"
${aabaabBAABAA%%AB} = "aabaabBAABAA" # match=""
#################### = "aabaabBAABAA"
${aabaabBAABAA%%*A} = "" # match="aabaabBAABAA"
${aabaabBAABAA%%*AA} = "" # match="aabaabBAABAA"
${aabaabBAABAA%%*BAA} = "" # match="aabaabBAABAA"
${aabaabBAABAA%%*AB} = "aabaabBAABAA" # match=""
#################### = "aabaabBAABAA"
${aabaabBAABAA%%A*} = "aabaabB" # match= "AABAA"
${aabaabBAABAA%%AA*} = "aabaabB" # match= "AABAA"
${aabaabBAABAA%%BAA*} = "aabaab" # match="BAABAA"
${aabaabBAABAA%%AB*} = "aabaabBA" # match= "ABAA"
网友评论