RegEx Advanced:积极的外观

mpn*_*ied 5 java regex lookbehind

这是我的测试字符串:

<img rel="{objectid:498,newobject:1,fileid:338}" width="80" height="60" align="left" src="../../../../files/jpg1/Desert1.jpg" alt="" />
Run Code Online (Sandbox Code Playgroud)

我想在rel属性之间获取每个JSON形成的元素.它适用于第一个元素(objectid).

这是我的ReqEx,工作正常:

(?<=(rel="\{objectid:))\d+(?=[,|\}])
Run Code Online (Sandbox Code Playgroud)

但我想做这样的事情,这是行不通的:

(?<=(rel="\{.*objectid:))\d+(?=[,|\}])
Run Code Online (Sandbox Code Playgroud)

所以我可以解析搜索字符串的每个元素.

我正在使用Java-ReqEx

Kon*_*lph 0

一般情况下,前向和后向可能不包含任意正则表达式:大多数引擎(包括 Java\xe2\x80\x99s)要求它们的长度是众所周知的,因此您可以\xe2\x80\x99t 使用像其中那样的量词*

\n\n

无论如何,你为什么在这里使用前瞻和后瞻?只需使用捕获组即可,\xe2\x80\x99 会简单得多。

\n\n
rel="\\{.*objectid:(\\d+)\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在第一个捕获组将包含 ID。

\n