MP *_*ons 3 grep sed regular-expression command
我试图了解该表达式[c1-c2]
与sed
or 一起使用时的作用grep
:
grep -E "[c1-c2]"
Run Code Online (Sandbox Code Playgroud)
这匹配 1-9 和 a、b、c。据我了解,它应该匹配 ASCII 表中 1 和 c 之间的字符。
[c1-c2]
是一个括号表达式。在给定的形式中,它匹配字符“c”、“1”和“c”之间的字符范围以及字符“2”。字符的范围取决于语言环境;在 POSIX 语言环境中,它是 ASCII 代码介于 49(“1”的代码)和 99(“c”的代码)之间的字符集。因此:
$ echo : | LANG=C grep -E '[c1-c2]'
:
$ echo 0 | LANG=C grep -E '[c1-c2]'
$ echo A | LANG=C grep -E '[c1-c2]'
A
Run Code Online (Sandbox Code Playgroud)
我怀疑其意图是,c1
并c2
代表限制您感兴趣的范围的单个字符,因此您会写[a-m]
或类似的东西,而不是[c1-c2]
.