Matchall 仅检索 5 个结果到集合中

发布于 2025-01-14 17:42:10 字数 1947 浏览 1 评论 0原文

我正在使用 powerapps 从自动化流程中检索数据。

我有一个 HTTP 请求,然后使用变量获取响应。

varVersionHistory 变量将 json 作为字符串提供:

{  "versionhistorymetadata": "{\"Version\":\"11.0\",\"ModifiedDateTime\":\"Wednesday, Mar 16, 2022, 5:44 PM\",\"ModifiedBy\":\"MG\",\"ChangeSummary\":\"MG changes\"};{\"Version\":\"10.0\",\"ModifiedDateTime\":\"Wednesday, Mar 16, 2022, 4:58 PM\",\"ModifiedBy\":\"DP\",\"ChangeSummary\":\"test\"};{\"Version\":\"9.0\",\"ModifiedDateTime\":\"Wednesday, Mar 16, 2022, 4:34 PM\",\"ModifiedBy\":\"DP\",\"ChangeSummary\":\"test\"};{\"Version\":\"8.0\",\"ModifiedDateTime\":\"Wednesday, Mar 16, 2022, 4:04 PM\",\"ModifiedBy\":\"DP\",\"ChangeSummary\":\"Add a comment v5\"};{\"Version\":\"7.0\",\"ModifiedDateTime\":\"Wednesday, Mar 16, 2022, 4:03 PM\",\"ModifiedBy\":\"DP\",\"ChangeSummary\":\"Add a comment v2\"};{\"Version\":\"6.0\",\"ModifiedDateTime\":\"Wednesday, Mar 16, 2022, 1:29 PM\",\"ModifiedBy\":\"DP\",\"ChangeSummary\":null};{\"Version\":\"5.0\",\"ModifiedDateTime\":\"Tuesday, Mar 15, 2022, 2:37 PM\",\"ModifiedBy\":\"DP\",\"ChangeSummary\":null};{\"Version\":\"4.0\",\"ModifiedDateTime\":\"Monday, Mar 14, 2022, 6:44 PM\",\"ModifiedBy\":\"DP\",\"ChangeSummary\":null};{\"Version\":\"3.0\",\"ModifiedDateTime\":\"Monday, Mar 14, 2022, 6:40 PM\",\"ModifiedBy\":\"DP\",\"ChangeSummary\":null};{\"Version\":\"2.0\",\"ModifiedDateTime\":\"Monday, Mar 14, 2022, 11:02 AM\",\"ModifiedBy\":\"DP\",\"ChangeSummary\":null};{\"Version\":\"1.0\",\"ModifiedDateTime\":\"Monday, Mar 14, 2022, 10:58 AM\",\"ModifiedBy\":\"DP\",\"ChangeSummary\":null}"}

我试图将其隐藏到一个集合中。我有这段代码,可以运行,但它只提供集合中的前 5 行。

ClearCollect(colVersionHistory,MatchAll(varVersionHistory,"\{""Version"":""(?<Version>[^""]*)"",""ModifiedDateTime"":""(?<ModifiedDateTime>[^""]*)"",""ModifiedBy"":""(?<ModifiedBy>[^""]*)"",""ChangeSummary"":""(?<ChangeSummary>[^""]*)""\}"))

你能帮忙解决这个问题吗? 谢谢!

I am using powerapps to retrieve data back from a automate flow.

I have a HTTP request then getting the response back using a variable.

The varVersionHistory variable gives json as string:

{  "versionhistorymetadata": "{\"Version\":\"11.0\",\"ModifiedDateTime\":\"Wednesday, Mar 16, 2022, 5:44 PM\",\"ModifiedBy\":\"MG\",\"ChangeSummary\":\"MG changes\"};{\"Version\":\"10.0\",\"ModifiedDateTime\":\"Wednesday, Mar 16, 2022, 4:58 PM\",\"ModifiedBy\":\"DP\",\"ChangeSummary\":\"test\"};{\"Version\":\"9.0\",\"ModifiedDateTime\":\"Wednesday, Mar 16, 2022, 4:34 PM\",\"ModifiedBy\":\"DP\",\"ChangeSummary\":\"test\"};{\"Version\":\"8.0\",\"ModifiedDateTime\":\"Wednesday, Mar 16, 2022, 4:04 PM\",\"ModifiedBy\":\"DP\",\"ChangeSummary\":\"Add a comment v5\"};{\"Version\":\"7.0\",\"ModifiedDateTime\":\"Wednesday, Mar 16, 2022, 4:03 PM\",\"ModifiedBy\":\"DP\",\"ChangeSummary\":\"Add a comment v2\"};{\"Version\":\"6.0\",\"ModifiedDateTime\":\"Wednesday, Mar 16, 2022, 1:29 PM\",\"ModifiedBy\":\"DP\",\"ChangeSummary\":null};{\"Version\":\"5.0\",\"ModifiedDateTime\":\"Tuesday, Mar 15, 2022, 2:37 PM\",\"ModifiedBy\":\"DP\",\"ChangeSummary\":null};{\"Version\":\"4.0\",\"ModifiedDateTime\":\"Monday, Mar 14, 2022, 6:44 PM\",\"ModifiedBy\":\"DP\",\"ChangeSummary\":null};{\"Version\":\"3.0\",\"ModifiedDateTime\":\"Monday, Mar 14, 2022, 6:40 PM\",\"ModifiedBy\":\"DP\",\"ChangeSummary\":null};{\"Version\":\"2.0\",\"ModifiedDateTime\":\"Monday, Mar 14, 2022, 11:02 AM\",\"ModifiedBy\":\"DP\",\"ChangeSummary\":null};{\"Version\":\"1.0\",\"ModifiedDateTime\":\"Monday, Mar 14, 2022, 10:58 AM\",\"ModifiedBy\":\"DP\",\"ChangeSummary\":null}"}

I am trying to covert that into a collection. I have this code which is working but it only gives me the top 5 rows in a collection.

ClearCollect(colVersionHistory,MatchAll(varVersionHistory,"\{""Version"":""(?<Version>[^""]*)"",""ModifiedDateTime"":""(?<ModifiedDateTime>[^""]*)"",""ModifiedBy"":""(?<ModifiedBy>[^""]*)"",""ChangeSummary"":""(?<ChangeSummary>[^""]*)""\}"))

Can you please help in fixing this?
Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

病毒体 2025-01-21 17:42:10

您需要使用

ClearCollect(colVersionHistory,MatchAll(varVersionHistory,"\{""Version"":""(?<Version>[^""]*)"",""ModifiedDateTime"":""(?<ModifiedDateTime>[^""]*)"",""ModifiedBy"":""(?<ModifiedBy>[^""]*)"",""ChangeSummary"":(?:""(?<ChangeSummary>[^""]*)""|(?<ChangeSummary>\w+))\}"))

请参阅正则表达式演示

请注意 "ChangeSummary":(?:"(?[^"]*)"|(?\w+)) 正则表达式部分:现在,它匹配 "ChangeSummary": 然后是两种模式之一:

  • "(?[^"]*)" - " 字符,然后是捕获到“ChangeSummary”组中的 " 字符以外的任何零个或多个字符,然后是 " 字符
  • |- 或
  • (?\w+) - 捕获到“ChangeSummary”组中的任何一个或多个单词字符

You need to use

ClearCollect(colVersionHistory,MatchAll(varVersionHistory,"\{""Version"":""(?<Version>[^""]*)"",""ModifiedDateTime"":""(?<ModifiedDateTime>[^""]*)"",""ModifiedBy"":""(?<ModifiedBy>[^""]*)"",""ChangeSummary"":(?:""(?<ChangeSummary>[^""]*)""|(?<ChangeSummary>\w+))\}"))

See the regex demo.

Note the "ChangeSummary":(?:"(?<ChangeSummary>[^"]*)"|(?<ChangeSummary>\w+)) regex part: now, it matches "ChangeSummary": and then either of the two patterns:

  • "(?<ChangeSummary>[^"]*)" - " char, then any zero or more chars other than a " char captured into "ChangeSummary" group, and then a " char
  • |- or
  • (?<ChangeSummary>\w+) - any one or more word chars captured into "ChangeSummary" group
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文