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

正则表达式 – 在Atom包中,如何在语法中重叠模式?

发布时间:2020-12-14 06:25:01 所属栏目:百科 来源:网络整理
导读:我想更进一步,设计更多东西.例如,我想设置以下样式: setting1 = 4setting2 = 192.168.1.12etc... 我想在=蓝色的左边和右边紫色的一切都设置样式. 问题是原子正则表达式引擎不支持负向前瞻或正向前瞻.结果,我尝试使用开始和结束指令,但仍然不起作用.换句话说
我想更进一步,设计更多东西.例如,我想设置以下样式:
setting1 = 4
setting2 = 192.168.1.12
etc...

我想在=蓝色的左边和右边紫色的一切都设置样式.

问题是原子正则表达式引擎不支持负向前瞻或正向前瞻.结果,我尝试使用开始和结束指令,但仍然不起作用.换句话说,我尝试过:

{
  # section reference
  'begin': '^s*.*?=' # match a line that contains an = sign
  'end': '.+$' # continue until the end of the line
  'match': '^s*[^=]*'  #only match everything that is not an equal sign 
  'name': 'blue' #style it with the blue style
},

所以基本上,我需要它看起来像这样:

有任何想法吗?

我想出了这个解决方案:(reules.cson)
'scopeName': 'source.conf'
'name': 'CONF'
'fileTypes': ['CONF']
'patterns': [     
  {
    # equality
    'match': '(?x) ^ ([^=;]+) (=)  (.+?)n'
    'captures':
      '1' :
        'name' : 'blue'
      '2' :
        'name' : 'yellow'
      '3' :
        'name' : 'purple'
  }

]

您可以以不同的方式设置每个捕

(编辑:李大同)

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

    推荐文章
      热点阅读