Javascript 组合一个或多个字符(`+?`)和正向前瞻(?=)
我有这样一个字符串:Javascript 组合一个或多个字符(`+?`)和正向前瞻(?=),javascript,regex,Javascript,Regex,我有这样一个字符串: "resourceType": "com.bmc.arsys.rx.services.view.domain.ContainerViewComponentDefinition", 我想匹配本部分中的第一个双引号: "resourceType": 所以我构造了一个regexp来查找,然后是一个或多个字符,后跟:literals,所以我有第一部分: ".+? 然后我想添加正向前瞻部分?=: 但我发现语法错误。组合它们的语法是什么?要匹配引号之间的任何内容,可以这样做。你不
"resourceType": "com.bmc.arsys.rx.services.view.domain.ContainerViewComponentDefinition",
我想匹配本部分中的第一个双引号:
"resourceType":
所以我构造了一个regexp来查找,然后是一个或多个字符,后跟:literals,所以我有第一部分:
".+?
然后我想添加正向前瞻部分?=:
但我发现语法错误。组合它们的语法是什么?要匹配引号之间的任何内容,可以这样做。你不需要积极地展望未来。
.+:要匹配引号之间的任何内容,可以这样做。你不需要积极地展望未来。
.+:您可以使用消极和积极的前瞻
".+?(?=")
var str='resourceType:com.bmc.arsys.rx.services.view.domain.ContainerViewComponentDefinition';
console.logstr.match/\w+?=/[0] 你可以使用消极和积极的前瞻
".+?(?=")
var str='resourceType:com.bmc.arsys.rx.services.view.domain.ContainerViewComponentDefinition';
console.logstr.match/\w+?=/[0] 这个简单的应该适合你的需要:[^]+这个简单的应该适合你的需要:[^]+这就是你需要的。使用前瞻组。该组是前瞻语法的一部分
".+?(?=")
这里有一个很好的链接来描述前瞻
更新:删除无关的建议,在解释中添加注释。这是您需要的。使用前瞻组。该组是前瞻语法的一部分
".+?(?=")
这里有一个很好的链接来描述前瞻
更新:删除无关的建议,在解释中添加注释。这就是您要找的吗?+=这就是你要找的吗?+=谢谢,所以不使用组就不能组合?是的。regex语法有一些限制。此外,regex实现之间也存在差异。您使用的是GNU/Linux工具还是M$FT工具?您会发现,有时候,正则表达式搜索模式的工作方式会有所不同,或者与其他模式相比根本不起作用。@Maximus和是先行语法的一部分,即?=模式,因此这是必需的。但这不是一个捕获群。@SebastianProske,啊,愚蠢的我,错过了那部分:。你可以发布一个答案,我会接受它,所以他们不能不使用一组组合?是的。regex语法有一些限制。此外,regex实现之间也存在差异。您使用的是GNU/Linux工具还是M$FT工具?您会发现,有时候,正则表达式搜索模式的工作方式会有所不同,或者与其他模式相比根本不起作用。@Maximus和是先行语法的一部分,即?=模式,因此这是必需的。但这不是一个捕获群。@SebastianProske,啊,愚蠢的我,错过了那部分:。你可以发布答案,我会接受的\w+是毫无意义的,因为它从来不是一个单词字符\这是一个很好的解决方案,谢谢,但我对结合这两部分的语法更感兴趣。这是一个很好的解决方案,谢谢,但我对结合这两部分的语法更感兴趣