Atom编辑器中的回顾断言正则表达式

3

我尝试在Atom编辑器中使用后顾断言。我的文本如下:

            <stop color="rgb(0,0,153)"       value = "0.13"/>
            <stop color="rgb(0,0,180)"       value = "0.17"/>
            <stop color="rgb(0,0,223)"       value = "0.25"/>

我可以使用 .*(?=color\=) 进行前瞻断言。它选择了 "color=" 之前的所有内容。但是如果我尝试后顾断言 .*(?<=color\=),Atom会告诉我“无效的正则表达式”。似乎Atom不认识<>作为特殊字符,因为它将其显示为普通字母和数字的相同颜色。我也不能使用一次性子表达式?>
由于我没有找到有关在Atom中使用哪种正则表达式语法的提示,因此我不知道应该使用哪种正则表达式。显然,不能包含>的正则表达式...
我知道这是XML,并且我可以使用XML方法提取值,但这不是我想要实现的部分。

不应该是 (?<!regex) 吗? - Scott Weaver
你是正确的,知道Atom使用哪种正则表达式会对我有所帮助。但我没有找到任何相关信息。我已经在我的问题中添加了这个问题。也许我应该在他们的网站上问开发者。 - nnn
@sweaver2112:(?<!regex)会产生相同的错误信息。 - nnn
可能不可用。例如,JavaScript没有后行断言。 - Scott Weaver
一个非环视的解决方案可能有效,但你并没有具体描述问题。 - Scott Weaver
显示剩余2条评论
2个回答

8

这个 Atom 讨论论坛中的帖子显示,正则表达式方言的信息确实仍然缺失于官方文档。但是他们在讨论中写道,Atom 使用的是 Javascript 正则表达式。而 Javascript 正则表达式没有实现后顾断言,而相反的前瞻已经实现了。

因此,您必须使用不包含后顾断言的解决方案。


2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接