mysql - 正则表达式将 PCRE 转换为 POSIX,以便在 MySQL 查询中使用正则表达式

标签 mysql regex

我有这个 PCRE 正则表达式:(这个正则表达式带有 RegExr http://regexr.com/39lbb 上的示例)

/(?=.*?ben)(?=.*?john).*/ig

我有这个 PCRE 正则表达式:(这个正则表达式在 RegExr http://regexr.com/39lbh 上有示例)

/.*?\b(john|ben)\b.*/ig

如何将此 PCRE 正则表达式转换为 POSIX 或者如何创建相同的 POSIX 正则表达式?我想在我的 MySQL 查询中使用这个正则表达式 ( REGEXP http://dev.mysql.com/doc/refman/5.1/en/regexp.html )

谢谢

最佳答案

只需放弃前瞻和非贪婪匹配即可,您不需要它们。

[[:<:]](john|ben)[[:>:]]

请注意[[:<:]][[:>:]]分别是词开始和词结束边界( \b 都是)。

我还怀疑您想要查找包含单词 'ben' 的字符串或'john' ,与它们的内容不匹配,所以我假设 .*也是多余的。

关于mysql - 正则表达式将 PCRE 转换为 POSIX,以便在 MySQL 查询中使用正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26242760/

相关文章:

r - 从R中的字符串中提取唯一数字

python - 斯坦福自然语言处理 : How to get chunks

java - 在 NiFi 的 getAttribute 中使用模式

php - AJAX PHP-加载前一个插入的记录而不是第一个

mysql - 使用 Hibernate 和注释连接两个表和一个中间表

mysql - 按多列和时间跨度对 MYSQL 结果进行分组

代码的 Java 正则表达式,例如 'this.' ?

mysql - 为什么 MYSQL 较高的 LIMIT 偏移量会减慢查询速度?

java - 在服务器上部署项目

php - 使用 smarty 隐藏电子邮件域