我只想知道字母数字字符,空格法国字符和短划线的正则表达式。我试过这个,但它不起作用。字母数字字符,空格,法文字符和破折号的正则表达式是什么?
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
您可以添加有关如何它不工作,你真正想做的事等更多信息。 –