除换行符以外的任何字符都可以匹配(MySQL正则表达式)

13

我想在 MySQL 查询中使用正则表达式的 regexp 指令。该正则表达式包含一个规则,即除了换行符之外的任何字符。

SELECT * FROM column regexp 'EXP1.[^\\n]*=[^\\n]*EXP2'

但是 MySQL 似乎将 .* 视为包括换行符在内的任何字符。

有什么想法可以改变正则表达式以匹配除了换行符之外的任何字符?

谢谢

1个回答

23

根据您的行尾样式,您可以使用[^\n]*匹配除换行符以外的任何内容,或者使用[^\n\r]*匹配除回车符和换行符以外的任何内容。


Should be [^\r\n]* - Bene Tleilax
3
@BeneTleilax说:实际上,方括号表示一个字符类。顺序并不重要。MySQL POD:“匹配属于该类的所有字符”,https://dev.mysql.com/doc/refman/8.0/en/regexp.html - HoldOffHunger

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接