3

MySQL で正規表現を使用して行を照合したいと考えています。パターンが数字でも行末でもないもので終わる行に一致する必要があります。

このパターンは Ruby/download:223(?:[\D]|$)/ では機能しますが、MySQL では一致しません。eol のオプションのマッチングは許可されていないと思います。

SELECT id FROM stories WHERE body REGEXP 'download:223(?:[\D]|$)'

以下を一致させる必要があります (わかりやすくするために引用符を付けています)。

"download:223"
"download:223*"
"download:223 something"
"download:223 more text"

ただし、次のものは使用しないでください (わかりやすくするために引用を繰り返します)。

"download:2234"
"download:2234 more text"
"download:2234*"
"download:2234* even more"

ありがとう!

4

2 に答える 2

1

この正規表現はあなたのために働くはずです:

"download:223([^0-9]|$)"

MySQL 正規表現エンジンは、\D、\d などをサポートしていません。

于 2013-10-31T13:35:03.787 に答える