MySQL 已决定不与我放在一起的某个正则表达式打球。宏伟的计划是匹配一个可能以标点符号结尾或不以标点符号结尾的字符串。
我已将以下内容输入到 2 个旨在验证正则表达式的应用程序中,并且在这两种情况下表达式都完美无缺:
\bString\b[[:punct:]]?
但是当这个被引入到MySQL中的时候
[[:<:]]String[[:>:]][[:punct:]]?
然后就完全不行了。它将接受String 但不接受 String! 或String;
我无计可施,所以如果有人能对此有所了解,我将不胜感激!
TIA:-)
最佳答案
[[:>:]]
表示词尾。通常是一个空格。
String
(注意空格)匹配。
String!
不匹配。
将正则表达式更改为:
[[:<:]]String[[:>:]]{0,1}[[:punct:]]{0,1}
关于MySQL正则表达式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7650607/