Open
Description
解决
在表达式中加上i
例子
总结
元字符 | 名称 | 匹配对象 |
---|---|---|
. | 点号 | 单个任意字符 |
[...] | 字符组 | 列出的任意字符 |
[^...] | 排除型字符组 | 未列出的任意字符 |
^ | 脱字符 | 行的起始位置 |
$ | 美元符 | 行的结束位置 |
< | 反斜线-小于 | 单词的起始位置(某些版本的egrep可能不支持) |
> | 反斜线-大于 | 单词的结束位置(某些版本的egrep可能不支持) |
竖线 | ||
(...) | 括号 | 限制竖线的作用范围以及其他功能 |
注意:
- 在字符组的内部,元字符的定义规则(及它们的意义)是不一样的。例如:在字符组外部,点号是元字符,但是在内部则不是如此。相反,连字符只能用在字符组内部(这是普遍情况)时才是元字符,否则就不是。脱字符在字符组外部表示一个意思,在字符组内部紧接着
[
时表示另一个意思(如[^
),其他情况下又表示别的意思。 - 不要混淆多选项和字符组。字符组
[abc]
和多选项(a|b|c)
固然表示同一个意思,但是这个例子中的相似性不能推广开来。无论列出的字符有多少,字符组只能匹配一个字符。相反,多选项可以匹配任意长度的文本,每个多选项可能匹配的文本都是独立的,例如<(1,000,000|million|thousand.thou)>
。不过,多选项没有像字符组那样的配出功能。 - 排除型字符组是表示所有未列出字符的字符组的简便方法。因此,
^x
的意思并不是只有当这个位置不是x时才能匹配,二十说“匹配一个不等于x的字符”。其中差别很细微,但很重要。例如匹配一个空行时不行的。 -i
参数规定在匹配时不区分大小写。