小编典典

MySQL REGEXP仅匹配整个单词

sql

如何在mysql中匹配整个单词?

举例来说,如果我输入“ ”,我 希望匹配“ 劳拉 ”或“ 劳伦斯 ”。

以下是我的工作查询,将“ lau ”与“ laura ”匹配

SELECT *
FROM
(
    SELECT

        p.page_id,
        p.page_url AS url,
        p.page_title AS title,
        SUBSTRING_INDEX(p.page_content_1, ' ', 500) AS content,
        EXTRACT(DAY FROM p.page_backdate) AS date,
        EXTRACT(MONTH FROM p.page_backdate) AS month,
        EXTRACT(YEAR FROM p.page_backdate) AS year

    FROM root_pages AS p

    WHERE p.page_hide != '1'
    AND p.page_url != 'cms'
    AND p.page_url != 'search'

    ORDER BY p.page_created DESC
) x
WHERE x.content REGEXP  '>[^<]*lau'

有解决我的主意REGEXP吗?

我使用的原因REGEXP '>[^<]*searchtext'是我的内容具有html标签,例如,

<p class="heading-sitemap">About us</p>
<ul>
<li class="subheading-sitemap">The team</li>
<li><a href="#">Introduction to gt</a></li>
<li><a href="#">Simon x</a></li>
<li><a href="#">Cathrin xe</a></li>
<li><a href="#">Patrick x</a></li>
<li><a href="#">Laurence x</a></li>
<li><a href="#">Tessa x</a></li>>
</ul>

我不想搜索可能落在诸如的标签内的单词<a href="http://laura.com">


阅读 242

收藏
2021-04-14

共1个答案

小编典典

这行得通吗?

REGEXP’[^ <] * lau [[:>:]]’

根据文档,[[:::]]将匹配单词末尾的单词边界

2021-04-14