【问题标题】:Atom package grammar regular expression flag for case insensitivity不区分大小写的 Atom 包语法正则表达式标志
【发布时间】:2016-10-26 10:39:40
【问题描述】:

我正在关注a tuturial 在 Atom 中创建一个包含语法高亮语法的包。 我的语言不区分大小写,例如define 等价于DEFINE

Atom 似乎正在运行JavaScript regular expressions,但 cson 语法配置文件中似乎不支持标志

    'match': '(DEFINE)'

好像有no documentation关于语法的。

如何实现不区分大小写的匹配?

【问题讨论】:

  • 你确定它是 JS 正则表达式的味道吗?不过,请尝试在模式的开头添加 (?i)
  • 他们似乎使用了另一个正则表达式库,你的提示是正确的。我刚刚在下面的文档中找到了它。包裹在atom\app-1.11.2\resources\app.asar.unpacked\node_modules\oniguruma
  • 请解释反对意见,以便我改进问题。

标签: regex grammar atom-editor


【解决方案1】:

使用特殊组: https://github.com/kkos/oniguruma/blob/master/doc/RE#L197

'match': '(?i)(DEFINE ...

【讨论】:

  • 它不是一个组。修饰符组是(?i:DEFINE)
  • 请注意 Oniguruma != JavaScript 的正则表达式引擎。 open issue Atom 中的查找和替换功能使用 JS 正则表达式,即使 Oniguruma is used to parse grammar files
  • @WiktorStribiżew 您可能是对的,但引用的文档文件使用了“扩展组”一词。
猜你喜欢
  • 1970-01-01
  • 2011-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-08
相关资源
最近更新 更多