• 正则表达 比较两个浮点数


    如果写成[ "$a" -lt "$b" ],当$a $b 是整数(integer)时,工作得很好,但对于浮点数,会得不到想要的结果,它只会给你“-bash: ***期待整数表达式”的结果。

    为了比较两个浮点数,可以写成这样
    [ `echo "$a > $b" | bc` -eq 1 ]  #   -eq 1  或者  -ne 0
     
     

    zzx@zzx103:/zzxdisk/zzx/Desktop/xuqiang/shell$ echo "1.0 > 2" | bc
    0
    zzx@zzx103:/zzxdisk/zzx/Desktop/xuqiang/shell$ echo "11.0 > 2" | bc
    1

     

     

    ^[0-9]\d*$

    ^[1-9]d+.[0-9]{1,2}|0.[0-9]{1,2}|[1-9]d+|0$  数字+两位小数

    整数或者小数:^[0-9]+.{0,1}[0-9]{0,2}$
    只能输入数字:"^[0-9]*$"。
    只能输入n位的数字:"^d{n}$"。
    只能输入至少n位的数字:"^d{n,}$"。
    只能输入m~n位的数字:。"^d{m,n}$"
    只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。
    只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。
    只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"。
    只能输入非零的正整数:"^+?[1-9][0-9]*$"。
    只能输入非零的负整数:"^-[1-9][]0-9"*$。
    只能输入长度为3的字符:"^.{3}$"。
    只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。
    只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。
    只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。   

     

     

     
    判断文件扩展名是否符合要求
     
     
     
     
     

    zzx@zzx11:~$ expr "a.abc" : ".*.ac"        
    0
    zzx@zzx11:~$ expr "a.abc" : ".*.abc"   #非0
    5

     *  匹配0次或多次之前字符

     +  匹配1个或多个之前字符

     ? 匹配0个或1个之前字符

     .   匹配任意1个字符

     []  匹配字符集

     [^ ]   ^表示取反

     判断是否整数

    1、


    read num
    echo $num|grep -q '^[-]?[0-9]+$' && echo yes || echo error

    正则表达式^[0-9]+ [+-*] [0-9]+ = [0-9]+$的解释

    1.^代表以xxx开头的行,
    [0-9]+表示至少出现一个0-9之间的数字。
    合起来 就是 必须开头的数字是0-9之间的数字,个数最少一个

    2.[+-*] 表示这是个符号中的其中一个,,也就是 + - * /运算符

    3.[0-9]+ 接着。后面跟着必须是 0-9之间的数字。个数最少一个

    4 = 等号就表示 =号这个符号
    5 [0-9]+$ ..$表示一行的结尾,所以这里的意思必须用0-9之间的字符结果

    2、read -p “Pls input:”  a

        expr  $a + 0 >/dev/null    #  和零相加   不是整数相加会报错     注意$a为空或者字符时~~~  提前判断是否空

        [ $?  -eq  0 ]  &&  echo int  ||  echo chars    # 整数不报错$? 为0

  • 相关阅读:
    Fluent UDF【1】:简介
    CFD使用者应当了解的一些事情
    关于CAE的那点儿破事儿【二】
    sau交流学习社区--看小说的lovebook一个无线端BS应用
    sau交流学习社区--songEagle开发系列:Vue.js + Koa.js项目中使用JWT认证
    mysql数据库NO CONNECTION问题分析以及解决方案
    sau交流学习社区第三方登陆github--oauth来实现用户登录
    微信小程序初体验,入门练手项目--通讯录,部署上线(二)
    快速新建简单的koa2后端服务
    docker初体验,搭建自用的gitlab服务
  • 原文地址:https://www.cnblogs.com/hanxing/p/4069226.html
Copyright © 2020-2023  润新知