Php 使用mysql regexp搜索字符串
嗨,我想在mysql表中搜索强等于的字符串。 假设我有以下数据:Php 使用mysql regexp搜索字符串,php,mysql,regex,Php,Mysql,Regex,嗨,我想在mysql表中搜索强等于的字符串。 假设我有以下数据: name skills John HTML^&*HTML5^&*CSS^&*CSS3 Roman HTML^&*CSS Anrold CSS^&*CSS3 此处^&*用于解析内容。 如何在mysql中进行regexp搜索,这样当我搜索HTML5时,它只返回nameJohn,而不返回John和roman。我像一样用试过了,但没用 select
name skills
John HTML^&*HTML5^&*CSS^&*CSS3
Roman HTML^&*CSS
Anrold CSS^&*CSS3
此处^&*
用于解析内容。如何在mysql中进行regexp搜索,这样当我搜索
HTML5
时,它只返回nameJohn
,而不返回John和roman
。我像一样用试过了,但没用
select * from table where skills regexp [HTML]
但我也会返回HTML5。但是它应该只返回包含HTML
的行
可能会有答案说规范化您的表。所以这对我来说不是一个解决方案,因为上面只是一个例子。它可能包含任何其他带有选项的字段,因为我的项目处理的是form builder。您可以简单地使用Mysql中的like
操作符来实现这一点
SELECT * FROM `table` WHERE skills LIKE '%HTML5%'
而LIKE
的相反版本是notlike
as
SELECT * FROM `table` WHERE skills NOT LIKE '%HTML5%'
您可以使用Mysql中的like
操作符作为
SELECT * FROM `table` WHERE skills LIKE '%HTML5%'
而LIKE
的相反版本是notlike
as
SELECT * FROM `table` WHERE skills NOT LIKE '%HTML5%'
请尝试从技能regexp'[[::]]'所在的表中选择*
。或者select*from table where skills regexp'[[[::]]”
如果您解释如何使用“like”,可能会提示我们为什么“like”不适合您。因为它应该…@user254153:也许,如果您想要相反的结果,并获得Roman
和Arnold
条目的话,您需要SELECT*FROM table WHERE skills regexp'[[:]].
。或者select*from table where skills regexp'[[[::]]”
如果您解释如何使用“like”,可能会提示我们为什么“like”不适合您。因为它应该…@user254153:如果您想要相反的结果,您可能需要从表中选择*而不是“%HTML5%”
,并获得Roman
和Arnold
条目。谢谢。它起作用了,但如果我不喜欢,我怎么办呢。我的意思是不等于。谢谢。它起作用了,但如果我不喜欢,我怎么办呢。我的意思是不等于。