我只想知道字母數字字符,空格法國字符和短劃線的正則表達式。我試過這個,但它不起作用。字母數字字符,空格,法文字符和破折號的正則表達式是什麼?
SELECT * FROM my_table
WHERE regexp_like(name_elem1,'[^[:alnum:]^[:blank:]^[àâçéèêëîïôûùüÿñæœ]^[\-]]');
請幫
我只想知道字母數字字符,空格法國字符和短劃線的正則表達式。我試過這個,但它不起作用。字母數字字符,空格,法文字符和破折號的正則表達式是什麼?
SELECT * FROM my_table
WHERE regexp_like(name_elem1,'[^[:alnum:]^[:blank:]^[àâçéèêëîïôûùüÿñæœ]^[\-]]');
請幫
我不是一個Oracle SQL專家,無法測試解決方案,但我寧願把它寫方式如下:
SELECT * FROM my_table WHERE regexp_like(name_elem1,'[0-9A-Za-z\ \tàâçéèêëîïôûùüÿñæœ]+');
不同的消息來源說,一個人不能加入正則表達式字符類,所以我明確地說明了它們:[0-9A-Za-z]
用於alnum,\ \t
用於白色字符和一個擴展的法語字符列表。
謝謝,如果我想包括破折號( - )也怎麼樣? –
添加逃脫的短劃線,即「\ - 」 – radekg1000
如果你想要這些字符,那麼不要使用'not'表達式......並考慮不區分大小寫。
... regexp_like(name_elem1,'[[:alnum:][:blank:][àâçéèêëîïôûùüÿñæœ]]', 'i');
caveot:這只是尋找任何1個字符相匹配的表達。
下面是官方文檔: https://docs.oracle.com/database/121/SQLRF/ap_posix.htm#SQLRF020
您可以添加有關如何它不工作,你真正想做的事等更多信息。 –