Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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 捕获组中的正则表达式括号_Php_Mysql_Regex - Fatal编程技术网

Php 捕获组中的正则表达式括号

Php 捕获组中的正则表达式括号,php,mysql,regex,Php,Mysql,Regex,我使用这个正则表达式通过SQL查询查找文本中的单词 [SQL QUERY] where REGEX concat(^|’| | | |\'|>|-)','Mercure','( | | |.|,|<|-) = 1 [SQL QUERY]其中正则表达式concat(^ |’| | | | | | | | | | | | | | | | | | | | | | |-| | | | | | | | | || 然后使用PHP代码筛选出与复杂边界条件不匹配的行。请粘贴您的PHP代码。如果需要

我使用这个正则表达式通过SQL查询查找文本中的单词

[SQL QUERY] where REGEX concat(^|’| | | |\'|>|-)','Mercure','( | | |.|,|<|-) = 1
[SQL QUERY]其中正则表达式concat(^ |’| | | | | | | | | | | | | | | | | | | | | | |-| | | | | | | | | ||

然后使用PHP代码筛选出与复杂边界条件不匹配的行。

请粘贴您的PHP代码。如果需要将整个单词与MySQL匹配,可能需要
REGEX-concat('[[:]]')
?非常感谢Wiktor:但是这些单词边界处理撇号之类的情况吗?比如法语“j'aime”,aime必须被视为一个完整的词。我想这就是我当时选择这样处理它的原因。虽然我想是错的:这更好…Bartosz:谢谢!我会尽快。但是像Sequel这样的工具在我尝试这样做时也会出错,所以我想PHP代码不是这里的问题。对不起…工作日结束了。是的,j'aime应被视为两个单词,无论撇号是直撇号还是弯曲撇号……不确定单词边界是否正确处理了这一点……哎呀,这是一个缺陷。
REGEXP
仅适用于字节,而不适用于多字节字符,如
。REGEXP不会“失败”,但在某些情况下可能会表现得很滑稽。
(^|’| | | |\'|>|-|\()','Mercure','( | | |.|,|<|-|\))
WHERE col REGEXP "(^|[’ '>-])Mercure[ .,<-]"
WHERE col LIKE '%Mercure%'