gpt4 book ai didi

C 正则表达式捕获组

转载 作者:太空宇宙 更新时间:2023-11-04 02:48:35 24 4
gpt4 key购买 nike

我无法理解 C 中正则表达式的工作原理。基本上我有一个包含如下行的 XML 文件(我不能使用 XML 解析器):

<Node Bla="blabla" Name="this is my name" .... />
<Node Name="this is my name" Bla="blabla" .... />

我想做的是提取每一行的名称部分。到目前为止,我一直在使用以下正则表达式:

char *regex_str = "Name=\"([^\"]*)\"";

但这给了我 Name="this is my name",我只是在寻找 this is my name 部分。

我做错了什么?

最佳答案

您可能不需要捕获组。

假设您的图书馆有后视(如果它是 PCRE,它肯定会这样做),您可以使用此正则表达式来匹配名称:

(?<=[Nn]ame=")[^"]+

参见 regex demo .

解释

  • 回顾 (?<=[Nn]ame=")断言前面的是 Name="name="
  • [^"]+匹配一个或多个不是 " 的字符

引用

关于C 正则表达式捕获组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24649952/

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