如何编写正则表达式来匹配postgres中的’José’等名称.换句话说,我需要设置一个约束来检查是否只输入了有效名称,但是也想要允许unicode字符.
Regular expressions,unicode style对此有一些参考.但是,似乎我不能用postgres写它.
如果无法为此编写正则表达式,仅使用javascript检查客户端就足够了
Postgresql不支持基于像Unicode那样的Unicode字符数据库的字符类.你得到更标准的[[:alpha:]]字符类,但这是依赖于语言环境的,可能不会覆盖它.
原文链接:https://www.f2er.com/regex/357229.html您可以将您不想要的ASCII字符列入黑名单,并允许所有非ASCII字符.比如像
[^\s!"#$%&'()*+,\-./:;<=>?\[\\\]^_`~]+
(JavaScript也没有非ASCII字符类.甚至[[:alpha:]].)
例如,将v_text作为要清理的文本变量:
-- Allow internationalized text characters and remove undesired characters v_text = regexp_replace( lower(trim(v_text)),'[!"#$%&()*+,./:;<=>?\[\\\]\^_\|~]+','','g' );