- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个tmLanguage定义(用于笨拙的8088仿真器),并且某些正则表达式变得越来越大。
<string>\s*(?i)(%define|%ifndef|%xdefine|%idefine|%undef|%assign|%defstr|%strcat|%strlen|%substr|%00|%0|%rotate|%rep|%endrep|%include|\$\$|\$|%unmacro|%if|%elif|%else|%endif|%(el)?ifdef|%(el)?ifmacro|%(el)?ifctx|%(el)?ifidn|%(el)?ifidni|%(el)?ifid|%(el)?ifnum|%(el)?ifstr|%(el)?iftoken|%(el)?ifempty|%(el)?ifenv|%pathsearch|%depend|%use|%push|%pop|%repl|%arg|%stacksize|%local|%error|%warning|%fatal|%line|%!|%comment|%endcomment|__NASM_VERSION_ID__|__NASM_VER__|__FILE__|__LINE__|__BITS__|__OUTPUT_FORMAT__|__DATE__|__TIME__|__DATE_NUM__|_TIME__NUM__|__UTC_DATE__|__UTC_TIME__|__UTC_DATE_NUM__|__UTC_TIME_NUM__|__POSIX_TIME__|__PASS__|ISTRUC|AT|IEND|BITS16|BITS32|BITS64|USE16|USE32|__SECT__|ABSOLUTE|EXTERN|GLOBAL|COMMON|CPU|FLOAT|_STDOUT|_GETCHAR|_WRITE|_STDIN|_EXIT|\.SECT\.....?)\b?([_a-zA-Z][_a-zA-Z0-9]*)?</string>
<string>\s*(?i)(
%define|%ifndef|%xdefine|%idefine|%undef|%assign|%defstr|%strcat
|%strlen|%substr|%00|%0|%rotate|%rep|%endrep|%include|\$\$|\$
|%unmacro|%if|%elif|%else|%endif|%(el)?ifdef|%(el)?ifmacro
|%(el)?ifctx|%(el)?ifidn|%(el)?ifidni|%(el)?ifid|%(el)?ifnum
|%(el)?ifstr|%(el)?iftoken|%(el)?ifempty|%(el)?ifenv|%pathsearch
|%depend|%use|%push|%pop|%repl|%arg|%stacksize|%local|%error
|%warning|%fatal|%line|%!|%comment|%endcomment
|__NASM_VERSION_ID__|__NASM_VER__|__FILE__|__LINE__|__BITS__
|__OUTPUT_FORMAT__|__DATE__|__TIME__|__DATE_NUM__|_TIME__NUM__
|__UTC_DATE__|__UTC_TIME__|__UTC_DATE_NUM__|__UTC_TIME_NUM__
|__POSIX_TIME__|__PASS__|ISTRUC|AT|IEND|BITS 16|BITS 32|BITS 64
|USE16|USE32|__SECT__|ABSOLUTE|EXTERN|GLOBAL|COMMON|CPU|FLOAT
|_STDOUT|_GETCHAR|_WRITE|_STDIN|_EXIT|\.SECT \.....?)\b ?([_a-zA-Z][_a-zA-Z0-9]*)?
</string>
%strcat\n
(在行的末尾添加了换行符)。
最佳答案
您可以使用RegexFormat应用程序http://www.regexformat.com来进行压缩和格式化
编辑,并进行一些重构,可能是这样
# <string>\s*(?i)(%define|%ifndef|%xdefine|%idefine|%undef|%assign|%defstr|%strcat|%strlen|%substr|%00|%0|%rotate|%rep|%endrep|%include|\$\$?|%unmacro|%if|%elif|%else|%endif|(?:%(?:el)?(?:ifdef|ifmacro|ifctx|ifidn|ifidni|ifid|ifnum|ifstr|iftoken|ifempty|ifenv))|%pathsearch|%depend|%use|%push|%pop|%repl|%arg|%stacksize|%local|%error|%warning|%fatal|%line|%!|%comment|%endcomment|__NASM_VERSION_ID__|__NASM_VER__|__FILE__|__LINE__|__BITS__|__OUTPUT_FORMAT__|__DATE__|__TIME__|__DATE_NUM__|_TIME__NUM__|__UTC_DATE__|__UTC_TIME__|__UTC_DATE_NUM__|__UTC_TIME_NUM__|__POSIX_TIME__|__PASS__|ISTRUC|AT|IEND|BITS16|BITS32|BITS64|USE16|USE32|__SECT__|ABSOLUTE|EXTERN|GLOBAL|COMMON|CPU|FLOAT|_STDOUT|_GETCHAR|_WRITE|_STDIN|_EXIT|\.SECT\.....?)(?-i)\b?([_a-zA-Z][_a-zA-Z0-9]*)?</string>
<string>(?x) # Expanded mode (ignore whitespace) - first chars of the regex string
\s*
(?i)
( # (1 start)
%define
| %ifndef
| %xdefine
| %idefine
| %undef
| %assign
| %defstr
| %strcat
| %strlen
| %substr
| %0 0?
| %rotate
| %rep
| %endrep
| %include
| \$ \$?
| %unmacro
| %if
| %elif
| %else
| %endif
| %
(?: el )?
(?:
ifdef
| ifmacro
| ifctx
| ifidn
| ifidni
| ifid
| ifnum
| ifstr
| iftoken
| ifempty
| ifenv
)
| %pathsearch
| %depend
| %use
| %push
| %pop
| %repl
| %arg
| %stacksize
| %local
| %error
| %warning
| %fatal
| %line
| %!
| %comment
| %endcomment
| __NASM_VERSION_ID__
| __NASM_VER__
| __FILE__
| __LINE__
| __BITS__
| __OUTPUT_FORMAT__
| __DATE__
| __TIME__
| __DATE_NUM__
| _TIME__NUM__
| __UTC_DATE__
| __UTC_TIME__
| __UTC_DATE_NUM__
| __UTC_TIME_NUM__
| __POSIX_TIME__
| __PASS__
| ISTRUC
| AT
| IEND
| BITS16
| BITS32
| BITS64
| USE16
| USE32
| __SECT__
| ABSOLUTE
| EXTERN
| GLOBAL
| COMMON
| CPU
| FLOAT
| _STDOUT
| _GETCHAR
| _WRITE
| _STDIN
| _EXIT
| \.SECT\. . . . .?
) # (1 end)
(?-i)
\b?
( [_a-zA-Z] [_a-zA-Z0-9]* )? # (2)
</string>
关于regex - 忽略tmLanguage定义内的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20429496/
我看到了这个存储库。 sublimehq/Packages我使用 sublime text 3,但我不知道 tmLanguage 文件。我也用谷歌搜索了它的定义,但我找不到它。这是什么? 最佳答案 t
我看到了这个存储库。 sublimehq/Packages我使用 sublime text 3,但我不知道 tmLanguage 文件。我也用谷歌搜索了它的定义,但我找不到它。这是什么? 最佳答案 t
我正在使用 Sublime Text 3,在本例中用于编辑 LaTeX。为了进一步自定义语法突出显示,我想定义一个新的范围,它只是扩展已交付的 LaTeX.tmLanguage(我无权访问,甚至无法阅
我正在尝试创建一个自定义语法语言文件来突出显示并帮助在 Sublime Text 2 中创建新文档。我已经走了很远,但我遇到了有关 tmLanguage 文件中正则表达式搜索的特定问题。我只是希望能够
背景故事(不是很重要,但它构成了问题) 我在 JSP 中有一个 TagLib,它获取它的内容并将其包含的代码包装在一个脚本 block 中(它做的更多,但为了这个问题,它并不重要)。例如:
我通过复制和编辑 C.tmLanguage 文件制作了自己的语法高亮显示(对于使用带有一些附加关键字的 C++ 代码的语言)。 我没有编辑任何“评论”键,但现在 ST2 中的评论切换不起作用。 (我认
我有两个关于 Sublime Text Editor 2 的问题。 我的第一个问题是,我在 Packages/User 文件夹中保存了几个不同的 .tmLanguage 文件(例如:Console.t
是否可以为 *.tmLanguage 或 *.sublime-syntax 文件创建自动化测试?这样做的最佳做法是什么? 最佳答案 我可能会将 SublimeLinter 与插件一起使用,因为您在处理
我在结合 RegExp 进行 Ruby 语法高亮显示时遇到了问题。 有人建议我用一些额外的代码更新我的 Ruby.tmLanguage 文件。 问题是,我无法在我的电脑上找到这个文件。在 sublim
我想在 https://github.com/Benvie/JavaScriptNext.tmLanguage 安装 ES6 语言语法高亮用于 TextMate 2。我克隆了 repo,但它有一个 .
我在做这个 plugin 使用包控制安装插件时,语法突出显示不适用于 Sublime Text 3。 Error loading syntax file "Sublime Text 3/Install
我要更改它以支持非引用 id,如: 我找到了 http://www.sublimetext.com/forum/viewtopic.php?f=3&t=8129 但是我在寻找编辑 tmLanguag
我正在为 vscode 开发语言扩展。我定义了一个 tmLanguage 文件,一切正常。在悬停功能中,使用 vscode.MarkdownString.appendCodeblock() Markd
我最近一直在合并 Handlebars.js进入一些新项目。我一直在使用内联 Handlebars 模板,以及常规的内联 javascript。 问题在于 Sublime Text 2 将内联 Han
我是一名优秀的程序员,十分优秀!