我想創建一個接受所有字符,國際口音標記的函數。但是應該排除任何逗號和感嘆號,並拒絕該字符串。mysql正則表達式接受所有國際口音標記,沒有逗號或感嘆號
到目前爲止,我創建了一個存儲值的列表。 我只需要移動那些沒有逗號和感嘆號的值。
我使用的是正則表達式如下:
IF column_value not REGEXP concat('[',x'21','-',x'2C',x'2E','-',x'40',x'5B','-',x'60',x'7B','-',x'7E',x'A1','-',x'BF',']') then
SET is_valid = 1;
這不是拒絕包含我不需要字符行正則表達式的格式。其他一切都應該存儲在我創建的utf8_unicode_ci列中。
現在,所有直到HEX碼(DF)的值都被標記爲有效。 但是,其餘的值被標記爲無效。例如,è
被標記爲無效。 你能幫忙嗎?
請考慮增加關於你的答案的_why_更多細節。 –
我相信這個「只會移動那些沒有逗號和驚歎號的值」,就像@Tammy上面提到的那樣。 –
我的問題是,我驗證了不同國家的名字。我現在可以看到很多人都使用過數字,‡,™(公司名稱)。因爲,他們不是個人,我試圖過濾它們。這就是使用十六進制代碼的原因。 @Ruben,讓我嘗試在非正則表達式中插入這些字符,看看它是否能完成這項工作。 – Tammy