web-dev-qa-db-ja.com

改行または文字列の終わりに一致するMySQL Regex

Mysqlに、改行で区切られたいくつかの値を含むテキスト列があります。私はこれらの値でクエリを実行したいと思っています。正規表現が次のようなことをすることで私を助けてくれると思います:

SELECT * FROM table WHERE column REGEXP 'myValue';

これは、myValueLongerのような長い値の一部としてもその文字列があることを除いて、これまでのところ機能します。その場合、両方に一致するため、改行をセパレーターとして追加する必要があります。だから私は試しました

SELECT * FROM table WHERE column REGEXP 'myValue[\n]';

しかし、それはゼロの結果を返します、それはマルチラインがどういうわけかMySQL regexでサポートされていないようですか?

ここで、すでにハングアップしています。最後に、改行または文字列の完全な末尾を許可する方法を追加する必要があります。テキストの末尾と先頭で空の改行を終了したくないためです。フィールド。

MySQLでこれを実現する方法を知っている人はいますか?

編集:複数行の問題を見つけました、\ r\nブレークしていたので、うまくいきました:

SELECT * FROM table WHERE column REGEXP 'myValue\r\n';

しかし、いまだにその問題に苦労していますOR文字列の終わり。

2
Tobias

自分で解決策を見つけました:

SELECT * FROM table WHERE column REGEXP 'myValue(\r\n.*)?$'
3
Tobias