0

夜、

[az]\.[az] のインスタンスについて、MySQL テーブルのいくつかの列を検索したいと考えています。次に例を示します。

John.than、Ame.ica、Llan.antffraid など

しかし、これに文字列「am」または「pm」を含めたくありません。(?!am|pm) を使用してみましたが、これは機能しません。エラーが返されます:「regexp からエラー 'repetition-operator operand invalid' を取得しました」。

次の正規表現があります。

REGEXP BINARY '[a-z]\\\.[a-z]'

注: 列に am または pm が含まれていて、bro.ken のような文字列も含まれている場合は、それを返す必要があります。

4

3 に答える 3

1

アサーションを使用できる場合、これは機能する可能性がありますが、バックトラッキングについてはわかりません。

 #  (?=^.*(?:(?!a\.m|p\.m)[a-z]\.[a-z]|(?:a\.m|p\.m).*(?!a\.m|p\.m)[a-z]\.[a-z]))

 (?=
      ^
      .* 
      (?:
           (?! a\.m | p\.m )
           [a-z] \. [a-z] 
        |  
           (?: a\.m | p\.m )
           .* 
           (?! a\.m | p\.m )
           [a-z] \. [a-z]
      )
 )
于 2013-08-29T18:55:43.577 に答える