使用Emacs在大写regexp中出现意外行为

Pas*_*ten 0 emacs elisp

我试图让一个中间步骤向后删除单词,这应该停在一个大写字母(在camelCase的情况下).

为此,我想使用以下内容来向后获取第一个大写字母的位置:

(search-backward-regexp "[:upper:]")

如果你在最后一个括号之后运行它,那么它将在这里:

(search-backward-regexp "[:upper | :]"),也就是说,之后r.

怎么会这样?

And*_*ler 5

(search-backward-regexp"[[:upper:]]")

[:upper:]不是"上"调用,而只是一个匹配单个字符的字符类,它必须是":"或"u"或"p"或"e"或"r"之一.只有第二个" []"才能搜索课程.