我想摆脱只包含中文,韩文等的标签
我发现以下内容列出了带有非ascii字符的行:
select col from tablename where col ~ '[^[:ascii:]]';
如何更改此选项以列出仅包含非ascii字符的行?
答案 0 :(得分:2)
对您而言,最重要的是匹配不包含某些指定字符的字符串。
您需要首先确定您不想匹配的字符/范围,并将它们放入否定的括号表达式中。
因此,如果您需要匹配包含非ASCII字符的字符串,则只需使用
select col from tablename where col ~ '^[^[:ascii:]]+$';
请注意,^
匹配字符串的开头,[^[:ascii:]]+
匹配除ASCII以外的1 +个字符,$
匹配字符串的结尾。
现在,如果您需要匹配不包含ASCII字母的条目,请将模式替换为^[^a-zA-Z]+$
。
如果您需要使用ASCII字母/数字匹配条目,请使用^[^a-zA-Z0-9]+$
。