emacs:regexp匹配以从字符串中提取数字
我尝试只匹配以下字符串后的数字:emacs:regexp匹配以从字符串中提取数字,regex,emacs,Regex,Emacs,我尝试只匹配以下字符串后的数字: sequentialGrid: 650274 parallelGrid: 650274 我的目标是通过M-x highlight regexp在以sequentialGrid:和parallelGrid:开头的行之后突出显示数字 以下是我的尝试,使用类似Perl的方法: ^sequentialGrid: \([0-9]*\).*/$1/ 不幸的是,Emacs不支持Perl功能。因此,我希望我的要求不是不可能的,或者有人可以提供一个方便的解决办法 顺便说一句,
sequentialGrid: 650274
parallelGrid: 650274
我的目标是通过M-x highlight regexp
在以sequentialGrid:
和parallelGrid:
开头的行之后突出显示数字
以下是我的尝试,使用类似Perl的方法:
^sequentialGrid: \([0-9]*\).*/$1/
不幸的是,Emacs不支持Perl功能。因此,我希望我的要求不是不可能的,或者有人可以提供一个方便的解决办法
顺便说一句,我验证了
^sequentialGrid:\([0-9]*\).
高亮显示了整行。我只需要提取数字。如果您的目标是添加字体锁定突出显示,则以下表达式将起作用:
(font-lock-add-keywords
nil
'(("^\\(parallel\\|sequential\\)Grid:\\s-*\\([0-9]+\\)"
2 font-lock-warning-face)))
将其中的
nil
MODE参数添加到当前缓冲区,也可以将模式名称指定为符号。有关字体锁定添加关键字
和字体锁定删除关键字
从未使用过emacs的详细信息,请参阅和,但要执行您所描述的操作,请使用积极的后视:例如(?不,它不起作用。我认为emacs的regexp缺少其中一些功能。我想知道是否有一种在不牺牲便利性的情况下的解决方法?哦……你能使用像(?:sequentialGrid:\s)[0-9]+
?对不起,把数字位也放在括号中以捕获该组:(?:sequentialGrid:\s)([0-9]+)
仍然不起作用。我发现可以在emacs中使用Perl,但据我所知,emacs不支持PCRE。我仍然希望找到一个简单的解决方案(如果存在的话)。