MySQL テーブルからtown
、4 つの小文字 a を含むすべての名前の数を見つける必要があります
SELECT count(*)
FROM `town`
where `name` REGEXP
そのREGEXPが必要です。誰?
a{4}
4 つの連続する a のすべての出現を見つける必要があります。
a.*a.*a.*a
少なくとも 4 個a
のを含むすべての出現を検索します
a{4}
a が 4 つ連続するすべてを検索します。
[aA].*[aA].*[aA].*[aA]
最初のものの大文字と小文字を区別しないバージョンです。
[aA]{4}
秒の大文字と小文字を区別しないバージョンです。
ここでは正規表現は必要なく、不要なオーバーヘッドです。可能であれば、代わりに LIKE '%a%a%a%a%' を使用してください。小道具は、私がこれを盗んだレネに行きます.
これは私のテストの問題でした。今、私たちは答えを得ました
SELECT count(*)
FROM `town`
where
`name` REGEXP BINARY '^([^a]*a[^a]*){4}$'
また
SELECT count(*)
FROM `town`
where
length(`name`) - length(replace (`name`,'a', '')) = 4