BASH - 字符串处理

  1. 使用正则表达式拆分字符串(BASH 3.0以上支持=~正则表达式)
    # 格式:name="value1","value2"
    # name、value1和value2是我们需要的字符串
    # 在分隔符前后可以有空格(tab等无显示字符不允许)
    # 用~=做正则表达式匹配
    # [ ]*表示可以有任意空格,()表示里面是要提取的部分,.*表示任意数目的任意字符串,=、,、“都没有定义数目,因此只能有一个
    # 匹配表达式右边最好是一个变量,因为在Bash 4.1,右边如果是字符串的话会强制使用字符串匹配而不是把它当作正则表达式,请参考http://blog.csdn.net/vimostan/article/details/8213784和http://wiki.bash-hackers.org/syntax/ccmd/conditional_expression
    REG='[ ]*(.*)[ ]*=[ ]*"(.*)"[ ]*,[ ]*"(.*)"[ ]*'
    if [[ $var =~ $REG ]]; then
        # 用${BASH_REMATCH[n]}获取第n部分,n从1开始
        name=${BASH_REMATCH[1]}
        value1=${BASH_REMATCH[2]}
        value2=${BASH_REMATCH[3]}
    fi  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值