我有一个消息表。我试图在表中找到具有符合特定格式的ID代码的消息。我下面的正则表达式是为了在PHP中匹配这些值而编写的,但我想将它移动到MySQL查询中。MySQL REGEXP不匹配字符串
它正在寻找的识别符代码的特定格式,看起来像这样:
[692370613-3CUWU]
该代码具有一致格式:
- 开始,并用硬括号[] 结束
- 里面的两个组件,
- 第一个是帐号,最小9位数,但可能更高
- 第二组分是一个字母数字代码,5个字符,可包括1-9,和大写字母但不包括“O”
- 的完整代码可以在消息
我有一个查询中的任何地方发生上面写着:
SELECT * FROM messages
WHERE
msgBody REGEXP '\\[(\d){9,}-([A-NP-Z1-9]){5}\\]'
OR
msgSubject REGEXP '\\[(\d){9,}-([A-NP-Z1-9]){5}\\]'
我在其中只在上面进行测试msgBody场采样值的表中创建一个测试行 - 但它不会返回任何结果。
我在猜测,我错过了PHP风格的正则表达式与MySQL的转换。
非常感谢帮助。
谢谢!
是做到了 - 谢谢! –