0
SELECT 
'8 / 10 Valle Seti'
REGEXP
'([1-9][0-9]|[2-9][0-9]) (Valle Seti)'

これは mysql で 1 を返します。そんなことがあるものか?10 より大きい 2 桁の後に単語を指定するだけですが、これは 1 桁、スラッシュ、2 桁の数字に一致します。ここで何か不足していますか?

4

2 に答える 2

3

あなたの正規表現は一致しています

'10 Valle Seti'

から

'8 / 10 Valle Seti'

正規表現を強制的に文字列の末尾で開始および終了するには、次のように変更します。

REGEXP
'^([1-9][0-9]|[2-9][0-9]) (Valle Seti)$'
于 2012-10-09T05:07:00.337 に答える
2

文字列 (である10 Valle Seti) で一致が見つかったため、assertbeginningendcharacterを追加してみてください

SELECT 
'8 / 10 Valle Seti'
REGEXP
'(^[1-9][0-9]|[2-9][0-9]) (Valle Seti)$'

SQLFiddle デモを見る

于 2012-10-09T05:07:35.750 に答える