gpt4 book ai didi

c# - 解析正则表达式-(不够)

转载 作者:太空狗 更新时间:2023-10-30 00:31:16 27 4
gpt4 key购买 nike

我创建了一个包含书籍的小型数据库,并试图在 C# 中使用正则表达式获取书名、作者和书籍年份,但出现错误。

数据库看起来像这样:

Eragon // Christopher Paolini // 2005

The Fellowship of the Ring // J. R. R. Tolkien // 1954

和代码:

Regex r = new Regex(@"(?<title>(.*)//" +
@"(?<author>(.*)//" +
@"(?<year>(.*)$");

错误:

parsing "(?<tytul>(.*)//(?<autor>(.*)//(?<rok>(.*)$" - Not enough )'s.

最佳答案

您忘记关闭所有命名的捕获组。

@"(?<tytul>(.*))//(?<autor>(.*))//(?<rok>(.*))$"
^ ^ ^

DEMO

通过将第一个贪婪量词 .* 变为非贪婪量词 .*? 可以避免 backtracking .

@"^(?<tytul>(.*?))//(?<autor>(.*?))//(?<rok>(.*))$"

关于c# - 解析正则表达式-(不够),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28389861/

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