作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用下面的 UPDATE 语句来更新确认代码格式是否正确的标志,请注意代码可以位于“RefCode”中的任何位置。这在 Excel 中有效,但我知道 MySQL REGEX 与标准 REGEX 有点不同:
UPDATE tblRequests
SET flagIsRefCodeOK= (RefCode REGEXP '^[A-Z0-9]{8}-(?:[A-Z0-9]{4}-){3}[A-Z0-9]{12}$')
WHERE DataSetID=11;
简而言之,如果字段包含 ddda999d-99de-999e-999e-9b9bf9999999
,则它应该为 true/[1]:
8 alphanumeric characters
A SINGLE DASH
4 alphanumeric characters
A SINGLE DASH
4 alphanumeric characters
A SINGLE DASH
4 alphanumeric characters
A SINGLE DASH
12 alphanumeric characters
如果有任何帮助,我们将不胜感激。
感谢
最佳答案
在 MySQL 中你不能使用 (?: non-capture groups )
做这样的事情:
UPDATE mytable
SET flag = `1`
WHERE mycolumn REGEXP "^[[:alnum:]]{8}-([[:alnum:]]{4}-){3}[[:alnum:]]{12}$"
注意 POSIX 类 [:alnum:]
匹配 ASCII 字母 a-z、A-Z 和数字 0-9
关于mysql - 如何在 MySQL 中使用 REGEXP(或类似的)匹配特定的字符串模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25036618/
我是一名优秀的程序员,十分优秀!