我有这个 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/