Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用mysql regexp搜索字符串_Php_Mysql_Regex - Fatal编程技术网

Php 使用mysql regexp搜索字符串

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

嗨,我想在mysql表中搜索强等于的字符串。 假设我有以下数据:

 name        skills
 John      HTML^&*HTML5^&*CSS^&*CSS3
 Roman     HTML^&*CSS
 Anrold    CSS^&*CSS3
此处
^&*
用于解析内容。
如何在mysql中进行regexp搜索,这样当我搜索
HTML5
时,它只返回name
John
,而不返回
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
条目。谢谢。它起作用了,但如果我不喜欢,我怎么办呢。我的意思是不等于。谢谢。它起作用了,但如果我不喜欢,我怎么办呢。我的意思是不等于。