组合一个或多个字符(`+?`)和正向前瞻(?=)

时间:2017-03-29 14:19:31

标签: javascript regex

我有一个这样的字符串:

"resourceType": "com.bmc.arsys.rx.services.view.domain.ContainerViewComponentDefinition",

我希望匹配此部分中的第一个双引号:

"resourceType":

所以我构建了一个正则表达式来查找",然后是一个或多个字符(贪婪),然后是":文字,所以我有第一部分:

".+?

然后我想添加积极的前瞻部分?=":

".+??=":

但我收到语法错误。组合它们的语法是什么?

4 个答案:

答案 0 :(得分:3)

这个简单的应该符合您的需求:"[^"]+"

答案 1 :(得分:3)

这就是你需要的。使用前瞻组。该组是lookahead语法的一部分。

".+?(?=")

这是一个描述前瞻的好链接。 codepen

更新:删除无关的建议,在解释中添加注释。

答案 2 :(得分:2)

要匹配引号之间的任何内容,您可以执行此操作。你不需要积极向前看。
".+":

答案 3 :(得分:2)

你可以同时使用消极和积极的前瞻。



dsacls dc=contoso,dc=org|findstr "username"