gpt4 book ai didi

c# - 我如何使用 REGEX 忽略某些内容

转载 作者:太空宇宙 更新时间:2023-11-03 12:34:58 25 4
gpt4 key购买 nike

我试图忽略我的正则表达式中很少出现的一些文本。我的正则表达式是

var Runners = new Regex(@"(?<=y, |f, |m, )(.*?)(?= runners\))").Matches(set);

有问题的行是

    Anthony Mildmay, Peter Cazalet Memorial Handicap Chase (Sponsored By Ing Barings) <span class=aside>3m 5f 110y</span></h2><ul class=list><li>(5yo+, 3m 5f 110y, 16 runners)

开头有一个额外的 'y, ',所以它会收集太多数据,因为在这个例子中我只想用我的正则表达式找到 '16'。

我认为这种情况不会经常发生,但由于此错误,它在 216424 的记录 134 上停止了。有没有一种方法可能只在 runners 一词后面寻找 10 个空格来寻找 'y, ' 或 'f, ' 或 'm, '?或者寻找 1 个数字后跟“y,”或“f,”或“m,”?

最佳答案

这可能对你有用:

(?<=[yfm],\s*)\d+(?=\s*runners\))

使用 .* 总是“危险的”(因为它可能匹配与预期不同的东西),即使它不是贪婪的。尝试使您的模式尽可能具体以获得正确匹配。

关于c# - 我如何使用 REGEX 忽略某些内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41420108/

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