我试图理解“整理符号”匹配是如何工作的,但我没有说出来。我明白这意味着匹配一个确切的序列而不仅仅是字符,即:
echo "ciiiao" | grep '[oa]' --> output 'ciiiao'
echo "ciiiao" | grep '[[.oa.]]' --> no output
echo "ciiiao" | grep '[[.ia.]]' --> output 'ciiiao'
但是,第三个命令不起作用。我错了还是误解了什么?
我已阅读此正则表达式tutorial。
答案 0 :(得分:1)
当digraph被视为语言中的单个字符时,通常会使用整理符号。它们是POSIX regular expression specification的一个元素,并没有得到广泛支持。
例如,在某些语言中" sh"被视为单个字符。假设语言环境文件定义了它(整理符号只有在当前locale中定义时才有效),整理符号[[.sh.]]
将被视为单个字符。同样,搜索.
或[^a]
也可以匹配" sh。"如果区域设置定义了" sh"如下" h"在字母表中,[g-i]
也会匹配" sh。"