當前位置:編程學習大全網 - 遊戲軟體 - grep -q -e "^[^\-][^\-]*-[^\-][^\-]*$" ,幫忙講解下^[^\-][^\-]*-[^\-][^\-]*$正則表達是什麽意思

grep -q -e "^[^\-][^\-]*-[^\-][^\-]*$" ,幫忙講解下^[^\-][^\-]*-[^\-][^\-]*$正則表達是什麽意思

方括號中的^表示排除, 也就是不是這些字符的字符

此例中的[^\-]表示壹個不是'-'的字符,因為'-'在方括號中有表示範圍的意思,所以前面加了'\'來轉義成壹個普通字符'-',(但在此處轉義符'\'多余:此例中'-'明顯不是表示範圍,作者低估了正則引擎的理解能力)

全表達式意思是:字符串開頭是壹個不為'-'的字符,後面跟0個到多個不為'-'的字符,再後面是壹個'-',再後面又是壹個不為'-'的字符,後面跟0個到多個不為'-'的字符,字符串結束

是不是有點啰嗦?

可精減為^[^\-]+-[^\-]+$

再精減為^[^-]+-[^-]+$

  • 上一篇:博餅為什麽是四點最大啊 ?
  • 下一篇:手機怎麽弄會員卡系統
  • copyright 2024編程學習大全網