Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.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 WHERE语句中的mySql正则表达式_Php_Mysql_Regex_Wildcard - Fatal编程技术网

Php WHERE语句中的mySql正则表达式

Php WHERE语句中的mySql正则表达式,php,mysql,regex,wildcard,Php,Mysql,Regex,Wildcard,我有一个数据库,在那里我存储了一个代码,它是由各种代码组成的内爆(“|”,$array)。因此,结果将类似于: 100 | 5100 | 510 100 | 5200 | 510 410 | 5200 | 520 100 | 790 | 5100 | 320 我想写一个正则表达式来搜索mySQL中的PHP匹配项。。。我可能会有类似于100 |*| 510的东西来向我展示100 | 5100 | 510和100 | 5200 | 510。此正则表达式在PHP中工作: /100\|(?:.*)5

我有一个数据库,在那里我存储了一个代码,它是由各种代码组成的内爆(“|”,$array)。因此,结果将类似于:

  • 100 | 5100 | 510
  • 100 | 5200 | 510
  • 410 | 5200 | 520
  • 100 | 790 | 5100 | 320
我想写一个正则表达式来搜索mySQL中的PHP匹配项。。。我可能会有类似于100 |*| 510的东西来向我展示100 | 5100 | 510和100 | 5200 | 510。此正则表达式在PHP中工作:

/100\|(?:.*)510/

但它在mySQL中不起作用。我发现答案是?:不起作用,所以如果我删除它并使用

/100\|.*510/

i、 e.查询是: 从交易金额中选择*,其中coa代码为REGEXP“/100\\.*510/”

它显示了表格中的所有结果

如何编写正则表达式以匹配代码的某些部分,而将代码的其他部分保留为通配符


谢谢

你听说过MySQL的
之类的运营商吗?你可能会想到这样的事情:

SELECT *
FROM yourTable
WHERE someCol LIKE '100|%|510;

<假设>代码> SoCeOL/<代码> <代码> 100×5100 <510 /代码>和<代码> 100×5200×510 <代码>作为数据,此查询将返回这两个记录。

< P>使用<代码> rase<代码>代替<代码> < <代码> > <代码>=< /代码> .< /p>您可以做“代码> 100”[0 9] + \ 510 510 /代码>,这将允许中间的任何数目。在您的示例中,
100 | 790 | 5100 | 320
是否应该不匹配?