我有这个 REGEX 表达式,用于通过 SQL 查询在文本中查找单词
[SQL QUERY] where REGEX concat(^|’| | | |\'|>|-)','Mercure','( | | |.|,|<|-) = 1
这按照我想要的方式工作(由于某些原因,传统的单词边界不能完成这项工作)。我想分别向每个捕获组添加一个左括号和一个右括号。但是当我尝试时:
(^|’| | | |\'|>|-|\()','Mercure','( | | |.|,|<|-|\))
然后我的 PHP 脚本出现错误,尽管 regex101 似乎并不觉得这很奇怪。有谁知道如何解决这个问题?
最佳答案
WHERE col REGEXP "(^|[’ '>-])Mercure[ .,<-]"
我不明白有多个空格。
找>
不容易啊仅与 <
匹配-- 这可能需要一长串选择。
解决该问题(如果它很复杂)的一种方法是仅在 MySQL 中执行此操作:
WHERE col LIKE '%Mercure%'
然后使用PHP代码过滤掉不符合复杂边界条件的行。
关于php - 捕获组中的正则表达式括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41167201/