通常、ポジティブな先読みアサーション を使用します。 このタスクでは、MySQLの正規表現エンジンはそれらをサポートしていません。
したがって、(単一の正規表現でこれを実行する場合)唯一のオプションは、両方のバリエーション(hello
)を処理することです。 red
の後 またはhello
red
の前 )「手動で」:
hello.*red|red.*hello
2つの「検索語」の場合、それはおそらく許容範囲です。ただし、適切にスケーリングされません。
正規表現((hello|red).*){2}()*
少し奇妙です。つまり
( # Start of group:
(hello|red) # Match either hello or red
.* # Match any number of characters
){2} # Match this group twice
()* # Match the empty string any number of times...
したがって、これはhello foo hello
と一致します またはred bar red
同様に。