任何人都可以解释一下这种胡言乱语意味着什么:
"[^_-]"
来自
grep - q "$1[^_-]"
我已经完成man grep
,却一无所获。
答案 0 :(得分:1)
您可以使用info grep
并导航至“ 3个正则表达式”,然后导航至“ 3.2个字符类和括号表达式”(在线here),找到这些字符的定义:
括号表达式是由“ [”和“]”括起来的字符列表。它匹配该列表中的任何单个字符。如果列表的第一个字符是插入符号“ ^”,则它匹配列表中未包含的任何字符。
- “-”表示范围(如果它不是列表中的第一个或最后一个或范围的终点)。
- “ ^”代表不在列表中的字符。如果要将“ ^”字符作为列表项,请将其放置在除第一个之外的任何位置。
因此"$1[^_-]"
应该与变量$1
中的任何内容匹配,后跟不是_
或-
的一个字符。