gpt4 book ai didi

MySQL 匹配这个正则表达式,但它不应该匹配

转载 作者:行者123 更新时间:2023-11-29 22:56:54 25 4
gpt4 key购买 nike

我正在尝试识别 Markdown 文本中引用(引用)其他人的句子,该文本位于 MySQL GHTorrent 数据集的本地副本中。所以我写了这个查询:

select * from github_discussions where body rlike '(.)*(\s){1,}(>)(\s){1,}(.)+';

它匹配一些不需要的数据,根据https://regex101.com/ ,它不应该与这个特定的正则表达式一起使用。

测试字符串:

`Params` is plural -> contain<s>s</s>

在 MySQL 数据库上匹配,在 regex101 dot com 上不匹配。

明显的引用示例,但在 db 处不匹配:

Yes, I believe so.\r\n\r\n\r\n\r\nK\r\n\r\n> On 19-Jul-2014, at 17:33, Stefan Karpinski <notifications@github.com> wrote:\r\n> \r\n> This is the standard 3-clause BSD license, right?\r\n> \r\n> —\r\n> Reply to this email directly or view it on GitHub.

此外,MySQL Workbench 不会显示那些回车符和换行符,除非复制粘贴到此处。

我可以使用一些更新查询进行规范化(删除\r 和\n)吗?

MySQL 正则表达式实现与 POSIX 标准正则表达式不同吗?您是否有最干净的解决方案来识别 Markdown 文本中的引用?

谢谢!

最佳答案

你那里有很多 parent 。按照上面的功能尝试一下:

select * from github_discussions where body rlike '.*[:blank:]+>[:blank:]+.+'

但是,我不确定这真的是您想要的。这很高兴与这一行匹配:

this is before > and after

据我了解,这不是 markdown 中带引号的字符串。相反,我会将其固定在开头,如下所示:

select * from github_discussions where body rlike '^[:blank:]*>[:blank:]+'

这将匹配行开头的大于号,前面可以选择空格。这是您要找的吗?

我不确定您的数据是否嵌入了换行符。如果是这样,您可能需要研究让正则表达式使用 ^ 锚定符号识别换行符的方法。正如正则表达式文献中广为接受的结论一样,将其留给学生作为练习。:-)

关于MySQL 匹配这个正则表达式,但它不应该匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28680216/

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