Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何跳过elisp中的符号?_Regex_Emacs_Syntax_Elisp - Fatal编程技术网

Regex 如何跳过elisp中的符号?

Regex 如何跳过elisp中的符号?,regex,emacs,syntax,elisp,Regex,Emacs,Syntax,Elisp,在跳过空格时,使用 (skip-chars-forward "\s-") 我似乎无法使用符号跳过符号 (skip-chars-forward "\s_") 也许我错误地使用了she命令,但在第一个案例中它不知怎么恢复了 相关文件似乎没有回答以下问题: 您使用的命令错误,应该是: (skip-chars-forward " \n\t") (skip-chars-forward "A-Z_a-z-0-9") 在字符串中输入的任何内容都会被放入[]regex构造中, 而且它不会展开\\s-作为

在跳过空格时,使用

(skip-chars-forward "\s-")
我似乎无法使用符号跳过符号

(skip-chars-forward "\s_")
也许我错误地使用了she命令,但在第一个案例中它不知怎么恢复了

相关文件似乎没有回答以下问题:


您使用的命令错误,应该是:

(skip-chars-forward " \n\t")
(skip-chars-forward "A-Z_a-z-0-9")
在字符串中输入的任何内容都会被放入
[]
regex构造中,
而且它不会展开
\\s-

作为搜索表单的语法符号不能从跳过表单中使用。使用
跳过语法-…

(skip-syntax-forward "_")
(skip-chars-forward my-choice)asdf....
或者使用自己的字符集移动

(setq "my-choice" "[[:alnum:]].")
“”“
之后评估下面的表单应跳到
”…“

或者,使用:M-x ar symbol-TAB显示一系列处理符号的命令:向前、向后、删除、复制、隐藏。。。等

顺便说一句,
skip chars
不采用语法的原因可能是速度。 Skip chars非常快,读取和翻译语法表可能会减慢速度。

您可能需要
(Skip syntax forward“w_”)
,它可以跳过单词和符号字符


如果要匹配以字符串形式编写的regexp中的语法类,要将其传递给像
search regexp forward
这样的函数,需要将反斜杠加倍:
“\\s-”
。但是
向前跳过语法
的参数不是一个regexp,而是一个字符串,其中每个字符代表一个语法类。

第二个参数似乎不正确,它跳过了空格和。OP要求使用符号字符和u:s。据我所知,他指的是作为符号的
。是的,但他想跳过符号,即可以作为符号一部分的所有字符。例如,
(向前跳过字符“a-zA-Z0-9”)
,但使用语法表定义的确切字符集。您的代码将跳过空格和s:only。我知道,
\\s
表示符号。调用该命令的实际方式似乎是(向前跳过语法“”),这是我从Jon O.的回答中推断出来的。奇怪的是,我确实想要(向前跳过语法“”):)谢谢您的帮助!我为错误的假设感到抱歉,但很高兴它无论如何都是有用的!顺便说一下,您原来的
(skip chars forward“\s-”
之所以有效,似乎是因为
\s
作为字符串或字符转义,表示空格字符。我刚才才知道。