gpt4 book ai didi

mysql - 编写 MYSQL REGEXP : greedy vs negated confusion

转载 作者:可可西里 更新时间:2023-11-01 07:33:10 26 4
gpt4 key购买 nike

我正在寻找有关 MYSQL 查询的正则表达式的帮助。我对表达式相当陌生,并且让自己彻底困惑。

我的数据库单元看起来像这样

1314{{Here is some data}}1213{{More data here}}1112{{Data ahoy}}

我正在尝试编写一个表达式来尝试匹配数据集,但仅匹配括号内年份内的数据。

例如,假设 $year=1314$term="ahoy"

使用以下正则表达式:

$year\{\{.* $term.*\}\}

它返回一个匹配项 - 因为它匹配 1112 前缀数据集的最后一个“}}”。我不希望它这样做,但尽管阅读了这个贪婪/否定的业务,我还是无法使用语法。实现我所追求的目标的最佳方式是什么?

最佳答案

尝试:

$year\{\{[^}]*$term[^}]*\}\}

[^}]* 匹配任何不是 } 的地方,所以它会在第一次出现 } 时停止匹配

.* 是贪心的,所以它会匹配最后一次出现的可能,所以 .*\}\} 匹配最后一组 }}要使其非贪婪,您可以使用 ? 之类的 .*?\}\} 但我更喜欢使用否定。

关于mysql - 编写 MYSQL REGEXP : greedy vs negated confusion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13992425/

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