gpt4 book ai didi

regex - postgresql 中的国际化正则表达式

转载 作者:行者123 更新时间:2023-11-29 11:25:28 27 4
gpt4 key购买 nike

如何编写正则表达式来匹配 postgres 中的“José”之类的名称。换句话说,我需要设置一个约束来检查是否只输入了有效的名称,但也希望允许使用 unicode 字符。

Regular expressions, unicode style对此有一些引用。但是,我似乎不能用 postgres 来写它。

如果无法为此编写正则表达式,是否仅使用 javascript 在客户端进行检查就足够了

最佳答案

PostgreSQL 不像 .NET 那样支持基于 Unicode 字符数据库的字符类。您会得到更标准的 [[:alpha:]] 字符类,但这取决于语言环境,可能不会涵盖它。

您可以将不需要的 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' );

关于regex - postgresql 中的国际化正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3820034/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com