私はMySQLでsqlクエリを使用していますが、 '<'と '>'の間の文字列と一致する式が必要です。例:MySQLのhtmlタグ外のテキストの正規表現の照合
select '<span class="boldtext">collaboratively site</span> – regardless of platform or language' rlike 'expression looking for boldtext' ==> should return false because 'boldtext' locates inside a html tag
select '<span class="boldtext">collaboratively site</span> – regardless of platform or language' rlike 'expression looking for platform' ==> should return true because 'platform' locates outside a html tag
私は以下で試しましたが運はありません。私は '*'が貪欲であると思う。
select '...' rlike '[^[.<.]]?[^[.>.]]*platform[^[.<.]]*[^[.>.]]?' # This expression doesn't work
は私が
similar postを見つけ、それはRubyや
'<span class="boldtext">collaboratively site</span> – regardless of platform or language' =~ /((?!<[^>]*))\bboldtext\1/ # => false
'<span class="boldtext">collaboratively site</span> – regardless of platform or language' =~ /((?!<[^>]*))\bplatform\1/ # => true
PHP
などのプログラミング言語で実行するなら式は以下のようになることを知っていたが、私は私の場合のためにそれを書き換えることはできません。htmlタグの目的以外の文字列(mysql rlike演算子で実行される)と一致する式をどのように考え出すか教えてください。
[MySQL REGEXPは境界単語にのみ一致しますが、htmlタグでは一致しません](https://stackoverflow.com/a/11130498/2277851) –