Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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
perl脚本需要改进mysql搜索代码_Mysql_Search_Keyword - Fatal编程技术网

perl脚本需要改进mysql搜索代码

perl脚本需要改进mysql搜索代码,mysql,search,keyword,Mysql,Search,Keyword,我正试图通过mysql在我的perl脚本中创建搜索函数 在mysql数据库中,有些名称是name.file.new.txt,有些名称是name-file-new-txt 当我搜索name file时,仅显示结果name file new txt,而不显示name.file.new.txt 我正在尝试搜索名称文件结果将显示名称文件.new.txt和名称文件新txt 我的mysql perl函数是 my $filter = "AND (file_name LIKE '%$f->{k}%' OR

我正试图通过mysql在我的perl脚本中创建搜索函数

在mysql数据库中,有些名称是
name.file.new.txt
,有些名称是
name-file-new-txt
当我搜索
name file
时,仅显示结果
name file new txt
,而不显示
name.file.new.txt

我正在尝试搜索
名称文件
结果将显示
名称文件.new.txt
名称文件新txt

我的mysql perl函数是

my $filter = "AND (file_name LIKE '%$f->{k}%' OR file_descr LIKE '%$f->{k}%')" if $f->{k}=~/^[^\"\'\;\\]{3,}$/;
谢谢你使用正则表达式
1) 在perl
$f->{k}=~s/[.]/[.]/g中形成正则表达式


2) 在mysql查询
和(文件名regexp.*$f->{k}中使用它.*'或…

他想要的是一个改进,而不是一个自杀式的正则表达式,它会真正扰乱MySQL或anny数据库的速度。我在他的问题中看到没有速度要求。创建一个新表,根据文件名保存单独的标记,这样你可以直接查询和链接(但确保标记上有一个索引)