向死而生: 海德格尔指出,人只要还没有亡故,就是向死的方向活着。这个存在者的一生贯穿着走向死的整个过程,这个过程是先于亡故的存在形式。在这个向死的过程中,人能真实地感受到自我的强烈存在感,自己在这个向死的过程中“在场”。所以,死的过程与亡的结果相比较,这个向死的过程更本真,更真实。
有时我们数据库存的文本是富文本,当我们需要对其进行搜索,我们对数据进行模糊匹配,但是会引发一个问题,富文本标签也被匹配到了,虽然不是什么大问题,但是也是有可能会影响用户体验的,所以我们需要对其进行处理。
简单地使用replace或者regexp都不能达到我们的要求,两者结合regexp_replace正则匹配便可以解决问题。
注意:mysql5.7以后才有regexp_replace
思路:将存储的富文本标签去掉,只匹配标签之外的内容
上代码:
select
<include refid="Base_Column_List"/>
from policy
and CONCAT(title, regexp_replace(content ,'<.+?>','')) like concat('%',#{keyword},'%')
and valid = 1
- 数据量小可以考虑,数据量大的话就要斟酌一下了,最好使用测试工具测一下,如果太影响性能肯定是不行的,需要另寻它法
- regexp_replace(content ,’<.+?>’,’’)得到的结果就是将<>括号的内容替换为空。
- 该函数还有其他的参数,如果还需要其他条件,可以去看一下该函数的使用。