MySQL REGEXP仅匹配边界字,但不包括html标记中的匹配

时间:2012-06-21 01:16:23

标签: php mysql sql regex word-boundary

question and answer之后,我的结果仍然有点麻烦,

例如,

REGEXP '>[^<]*lau[[:>:]]'仅匹配' lau '但不符合' laurence '这是正确的。

REGEXP '>[^<]*men[[:>:]]'将匹配“授权”和“女性”,这些

REGEXP '( |>|$)home( |<|$)'仅匹配' home '但不匹配' home!'应该

如何才能正确匹配?

例如,

Home - match
HOME - match
welcome home! - match
home is far! - match
hometown - not match
xxhomexx - not match
<a href="home.html">Hello</a> - not match
<p class="home">a box</p> - not match

匹配html标记中的任何匹配项。 家乡 - 不匹配

1 个答案:

答案 0 :(得分:2)

怎么样?     REGEXP'&gt; [^&lt;] * [[:&lt;:]] home [[:&gt;:]]'?

此外,我对您的解决方案的性能非常感兴趣...为什么您的表中没有其他列,其中包含剥离了html标记的文本。然后,您可以充分利用全文搜索,而不是复杂的正则表达式。