SELECT
'8 / 10 Valle Seti'
REGEXP
'([1-9][0-9]|[2-9][0-9]) (Valle Seti)'
これは mysql で 1 を返します。そんなことがあるものか?10 より大きい 2 桁の後に単語を指定するだけですが、これは 1 桁、スラッシュ、2 桁の数字に一致します。ここで何か不足していますか?
あなたの正規表現は一致しています
'10 Valle Seti'
から
'8 / 10 Valle Seti'
正規表現を強制的に文字列の末尾で開始および終了するには、次のように変更します。
REGEXP
'^([1-9][0-9]|[2-9][0-9]) (Valle Seti)$'
文字列 (である10 Valle Seti
) で一致が見つかったため、assertbeginning
とend
characterを追加してみてください
SELECT
'8 / 10 Valle Seti'
REGEXP
'(^[1-9][0-9]|[2-9][0-9]) (Valle Seti)$'
SQLFiddle デモを見る