簡體   English   中英

如何在MySQL中使用REGEXP(或類似方法)匹配特定的字符串模式

[英]How to match specific string pattern using REGEXP (or similar) in MySQL

我正在使用下面的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

希望對此有所幫助。

日Thnx

在MySQL中,您不能使用(?: non-capture groups )

做這樣的事情:

UPDATE mytable
SET flag = `1`
WHERE mycolumn REGEXP "^[[:alnum:]]{8}-([[:alnum:]]{4}-){3}[[:alnum:]]{12}$"

請注意,POSIX類[:alnum:]匹配ASCII字母az,AZ和數字0-9

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM