所以[^x]
表示不匹配“x”,而x*
表示匹配“x”0次或更多次,但[^*]
是什么意思?
答案 0 :(得分:32)
这意味着“匹配不是文字星号的字符。”
要记住的是,在字符类中,元字符不需要转义,因此[^*]
与[^\*]
相同。同样,您可以使用[.]
来引用文字点而不是引用任何字符的元字符。在角色类之外,您需要将其转义:\.
。
答案 1 :(得分:5)
它表示单个出现的字符不是实际字符*
。不需要转义字符,因为星号在字符类中没有特殊含义。这不应该是非常令人惊讶的,因为克拉字符^
在字符类中也有完全不同的含义。
答案 2 :(得分:5)
*
在character class内没有特殊含义,所以它实际上意味着"某些不是*
"。在字符类中具有特殊含义的唯一字符是-
,^
和]
。除此之外,一切都是字面意思。例如,[^.]
表示"不是.
",正如[^$]
表示"某些不是$
{1}}"
答案 3 :(得分:1)
对于像这样的符号搜索,搜索引擎symbolhound是一个不错的选择。以下是[^ *]的results:
[披露:在SH团队]