我有这个REGEX表达式用于通过SQL查询在文本中查找单词
[SQL QUERY] where REGEX concat(^|’| | | |\'|>|-)','Mercure','( | | |.|,|<|-) = 1
这就是我想要的方式(出于某些原因,传统的单词边界不起作用)。我想分别为每个捕获组添加一个左括号和一个结束括号。但是当我尝试:
(^|’| | | |\'|>|-|\()','Mercure','( | | |.|,|<|-|\))
然后我的PHP脚本出错了,虽然regex101似乎没有发现这个奇怪的。有谁知道如何解决这个问题?
答案 0 :(得分:1)
WHERE col REGEXP "(^|[’ '>-])Mercure[ .,<-]"
我不明白有多个空白。
要查找仅由>
匹配的<
并不容易 - 这可能需要很长的选择列表。
解决问题的一种方法(如果它很复杂)就是在MySQL中只做这个:
WHERE col LIKE '%Mercure%'
然后使用PHP代码过滤掉与复杂边界条件不匹配的行。