加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

一行开头的每组空格的正则表达式

发布时间:2020-12-14 06:07:27 所属栏目:百科 来源:网络整理
导读:我正在尝试修复 highlight indentation模块的正则表达式为emacs.它目前的工作方式是每%s空格突出显示一次: "( ) {%s}" 这是一些Verilog代码行为的示例结果: 当前正则表达式适用于每行开头的缩进.然而,存在不期望的伪像,即不在行开头的空间序列也
我正在尝试修复 highlight indentation模块的正则表达式为emacs.它目前的工作方式是每%s空格突出显示一次:

"( ) {%s}"

这是一些Verilog代码行为的示例结果:

当前正则表达式适用于每行开头的缩进.然而,存在不期望的伪像,即不在行开头的空间序列也与正则表达式匹配.我想修改正则表达式以匹配上述行为,但仅限于行的开头.这就是我想要的(我必须手动绘制它):

这是我尝试过的.您可以从结果中看出行为不正确.

"^(( ) {%s}) {1,}"

结果:

也试过了

"^(( ) {%s}){1,}"

结果:

这是相关的代码,但我道歉这不是一个有效的例子.请使用上面的链接作为工作示例.

(set (make-local-variable 'highlight-indentation-current-regex)
     (format "( ) {%s}" (- highlight-indentation-offset 1)))
(font-lock-add-keywords nil `((,highlight-indentation-current-regex
                               (1 'highlight-indentation-face))))

解决方法

假设您当前的字体锁定规则如下所示:

(,highlight-indentation-current-regex (1 'highlight-indentation-face))

你可以用

(,highlight-indentation-current-regex (1 (if (save-excursion (skip-chars-backward " t") (bolp)) 'highlight-indentation-face)))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读