gpt4 book ai didi

regex - 使用正则表达式解析许可证文件

转载 作者:行者123 更新时间:2023-12-01 15:05:54 25 4
gpt4 key购买 nike

我想解析一个许可证文件,其中包含这样的内容。

COMPONENTS="A0000 B0000 G0000"

文件中必须有引号来标记包中组件的开始和结束。我已经在 regex101.com 上测试了组合但这并不能解决问题

正则表达式 ("?(?<components>\w+)*\s?"?)适用于字符串“A0000 B0000 G0000”并返回我需要的组件的各个值:A0000、B0000等

但是当我测试(COMPONENTS|PACKAGES)=("?(?<components>\w+)\s?"?)时,该 block 无法返回这些值,仅返回第一个值,即 A0000。

我需要帮助来提取所有这些个人值(value)观。请帮忙。

最佳答案

由于我的解决方案对您有用,因此我发布了答案:

(?:\G(?!^)\s+|(?:COMPONENTS|PACKAGES)=")\K[^\s"]+

模式匹配:

  • (?:\G(?!^)\s+|(?:COMPONENTS|PACKAGES)=") - 两种选择之一:
  • \G(?!^)\s+ - 上一个匹配的结尾(\G 匹配行/字符串的开头或上一个匹配的结尾匹配,因此 (?!^)“减去”字符串位置的开头)和 1+ 空格
  • | - 或
  • (?:COMPONENTS|PACKAGES)= - COMPONENTS=PACKAGES=
  • \K - 匹配重置运算符(丢弃当前匹配的文本)
  • [^\s"]+ - 1 个或多个除空格和双引号之外的字符。

关于regex - 使用正则表达式解析许可证文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50393635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com