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

2023-12-14

我用书籍创建了一个小型数据库,并尝试使用 C# 中的正则表达式获取书籍的标题、作者和年份,但发生了错误。

数据库看起来像这样:

Eragon // Christopher Paolini // 2005

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

和代码:

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

Error:

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

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

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

DEMO

通过转动贪婪量词.*首先要非贪婪.*?会避免回溯.

@"^(?<tytul>(.*?))//(?<autor>(.*?))//(?<rok>(.*))$"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解析正则表达式 - (不够) 的相关文章