当前位置:  开发笔记 > 后端 > 正文

否定rlike正则表达式中的特定行结束序列

如何解决《否定rlike正则表达式中的特定行结束序列》经验,为你挑选了1个好方法。

我想匹配任何不以'CA'或'CA [任何数字]'结尾的行.我怎样才能在MySQL中使用rlike?(注意它不支持?!等).

这是正面匹配的正则表达式,我只需要一种方法来否定它: '^.*[C][A][0-9]?$'

(由于令人尴尬的架构限制,我不想使用not rlike ...)



1> ysth..:

诀窍是把它变成你的事情的描述想匹配.在以下情况下,某些内容不会以CA或CA(数字)结尾:

它以A或数字以外的其他内容结束,或者

它以A以外的东西结束,然后是数字,或者

它以C以外的东西结束,然后是A,然后是数字,或者

它以C以外的东西结束,然后是A或

它等于A后跟一个数字,或

它等于A或数字,或

它是空的.

所以:

rlike '[^A0-9]$|[^A][0-9]$|[^C]A[0-9]$|[^C]A$|^A[0-9]$|^[A0-9]$|^$'

未经测试,未经"优化",可能至少在上面某处出现过一次错误.

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有