2016-12-12 31 views
3

我是新来的正则表达式,并试图学习它。我正在Coffeescript中编写代码,并且希望匹配//用于注释,但不是://因此它不会更改链接的颜色。这是用于原子文本编辑器的语法文件。任何帮助,将不胜感激。REGEX匹配//但不是://

+0

我不知道CoffeeScript的支持它,但它是否定回顾后的情形:'(<?!)//' – Aaron

+0

的Atom语法文件应该支持lookbehinds因为他们是Oniguruma供电。所以,'(?<!:)//'应该可以工作。 –

+0

@Aaron Coffeescript编译为纯Javascript,并没有自己的正则表达式实现。是的,它支持它。 – deceze

回答

2

我能想出是使用负的外观背后这样最简单的模式:

(?<!:)// 

但看的屁股不被JavaScript的支持(不知道凌动本身,而是崇高的支持的话) ,所以我能想到的是,通过使用这样的正则表达式:

.*:\/\/.*|(\/\/.*) 

Working demo

这个想法是使用丢弃技术,所以模式会故意匹配你不想要的东西,但会捕获你实际需要的东西。然后你必须抓取捕获组的内容。

比赛信息:

Group 1. 11-26 `// some comment` 
Group 1. 41-59 `// another comment`