如何在where子句中编写mysql正则表达式?

如何在where子句中编写mysql正则表达式?,mysql,regex,Mysql,Regex,如何在where子句中编写正则表达式以匹配以下模式 模式1 ~ ~ ~ ~ ~ ~ 模式2 ~ ~ |A~b ~ ~ ~|A~b~c ~ ~ ~|this can be anything ~ ~ ~ ~ ~ ~|this can be anything 对于模式2,只需在|之前匹配零件即可 ^~([ ]+~)*[ ]*(\\|.*|$) 试试这个。如果您在第一次~之前有空间,请使用 ^[ ]*~([ ]+~)*[ ]*(\\|.*|$) 见演示 类似于REGEXP'^[~]{2,6}|.

如何在where子句中编写正则表达式以匹配以下模式

模式1

~
~ ~
~ ~ ~
模式2

~ ~ |A~b
~ ~ ~|A~b~c
~ ~ ~|this can be anything
~ ~ ~ ~ ~ ~|this can be anything
对于模式2,只需在|之前匹配零件即可

^~([ ]+~)*[ ]*(\\|.*|$)
试试这个。如果您在第一次
~
之前有空间,请使用

^[ ]*~([ ]+~)*[ ]*(\\|.*|$)
见演示


类似于
REGEXP'^[~]{2,6}|.*?谢谢你的回答。然而,这也给结果带来了~B~~~ | 3~1~2~0~。在~'sHi之间不应该有任何内容,有时我在执行查询时会遇到此错误。从regexp中获取错误“空(子)表达式”。有什么想法吗?@有什么想法吗