grep-q“ $ 1 [^ _-]”

时间:2019-01-31 17:37:57

标签: regex grep

任何人都可以解释一下这种胡言乱语意味着什么:

"[^_-]"

来自

grep - q "$1[^_-]"

我已经完成man grep,却一无所获。

1 个答案:

答案 0 :(得分:1)

您可以使用info grep并导航至“ 3个正则表达式”,然后导航至“ 3.2个字符类和括号表达式”(在线here),找到这些字符的定义:

  

括号表达式是由“ [”和“]”括起来的字符列表。它匹配该列表中的任何单个字符。如果列表的第一个字符是插入符号“ ^”,则它匹配列表中未包含的任何字符。

     
      
  • “-”表示范围(如果它不是列表中的第一个或最后一个或范围的终点)。
  •   
  • “ ^”代表不在列表中的字符。如果要将“ ^”字符作为列表项,请将其放置在除第一个之外的任何位置。
  •   

因此"$1[^_-]"应该与变量$1中的任何内容匹配,后跟不是_-一个字符。