在带有html的列上使用MySql regexp

在带有html的列上使用MySql regexp,mysql,sql,regex,Mysql,Sql,Regex,我有一个包含HTML内容的表,在该表中,我需要使用CSS类“Glyphion Glyphion film”和一些文本内容来选择包含span元素的所有行,但排除所有不包含内容或仅包含空白的行 这些行不应匹配: <span class="glyphicon glyphicon-film">&nbsp;</span> <span class="glyphicon glyphicon-film"></span>

我有一个包含HTML内容的表,在该表中,我需要使用CSS类“Glyphion Glyphion film”和一些文本内容来选择包含span元素的所有行,但排除所有不包含内容或仅包含空白的行

这些行不应匹配:

<span class="glyphicon glyphicon-film">&nbsp;</span>
<span class="glyphicon glyphicon-film"></span>
<span class="glyphicon glyphicon-film"> </span>
<span class="hypo-link-target" data-link-target-id="1379">Hammartå</span>

哈马特
这些行应匹配:

<span class="glyphicon glyphicon-film">nån text</span>
<span class="glyphicon glyphicon-film">Nån Text</span>
<span class="glyphicon glyphicon-film">NÅN TEXT</span>
<span class="glyphicon glyphicon-film">&nbsp;nån text</span>
<span class="glyphicon glyphicon-film">&nbsp;Nån Text</span>
<span class="glyphicon glyphicon-film">&nbsp; nån text</span>
<span class="glyphicon glyphicon-film">&nbsp; Nån Text</span>
<span class="glyphicon glyphicon-film"> nån text</span>
<span class="glyphicon glyphicon-film"> Nån Text</span>
nån文本
NåN文本
NÅN文本
nån文本
NåN文本
nån文本
NåN文本
nån文本
NåN文本
我目前的问题是:

select * from Section 
where (Text regexp '(span class="glyphicon glyphicon-film">&nbsp;.+</span>)' 
or Text regexp 'span class="glyphicon glyphicon-film">[a-zA-Z][|å|ä|ö|Å|Ä|Ö]+</span>');
从节中选择*
其中(Text regexp'(span class=“glyphicon glyphicon film”>。+)'
或文本regexp'span class=“glyphicon glyphicon film”>[a-zA-Z][|;
我应该使用哪个regexp来获得所需的结果

更新: 根据答案中的建议,我最终提出了这个问题,我认为它适用于所有情况。此查询还将匹配具有两个或多个span元素的行,其中某些元素正确,而某些元素不正确,如下所示:

<span class="glyphicon glyphicon-film">&nbsp;Nån Text</span>more content here... and a correct span <span class="glyphicon glyphicon-film">&nbsp;</span>

select * from Section 
where Text regexp 'span class="glyphicon glyphicon-film">&nbsp;.+</span>' 
        or (Text regexp 'span class="glyphicon glyphicon-film">[a-zA-ZåäöÅÄÖ ]+</span>'
and Text not regexp 'span class="glyphicon glyphicon-film"> </span>');
NåN text此处有更多内容。。。和正确的跨度
从节中选择*
其中Text regexp'span class=“glyphicon glyphicon film”>。+'
或者(Text regexp'span class=“glyphicon glyphicon film”>[a-zA-Zåääääää]+'
文本不是regexp'span class=“glyphicon glyphicon film”>”;

模式
[a-zA-Z][|||||||||||||||||||||||||||||||||124。您希望匹配这些字符的任意组合的字符串以及省略的空格。那将是
[a-zA-Zåääääää]+

|
未在
[]
中用于指定替代字符,因为
[]
已在指定替代字符

select * from Section 
where (Text regexp 'span class="glyphicon glyphicon-film">&nbsp;.+</span>' 
        or Text regexp 'span class="glyphicon glyphicon-film">[a-zA-ZåäöÅÄÖ ]+</span>')
and Text not regexp 'span class="glyphicon glyphicon-film"> +</span>';
从节中选择*
其中(Text regexp'span class=“glyphicon glyphicon film”>。+'
或文本regexp'span class=“glyphicon glyphicon film”>[a-zA-Zåääääää]+)
文本不是regexp'span class=“glyphicon glyphicon film”>+;
最后一个条件是防止
匹配所必需的


谢谢你的提示,但没用。通过您的更改,我只得到了包含“xxx”的行的匹配项,没有其他内容。regexp中仍然缺少“space”。@poa我已经更新了答案,并添加了一个演示,显示它是有效的。@Barmar啊,是的,这好多了。稍加修改后,我认为它现在可以正常工作了。我用我认为很好的问题更新了这个问题。谢谢