You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL正则表达式作业求助:匹配括号内三位大写字符行数不符

问题原因
  • 正则未匹配目标格式的括号:你要匹配的是(XXX)这类带括号的内容,但你的正则purpose, ([A-Z]{3})完全没处理括号——括号在正则里是分组元字符,必须用\(和\)转义才能匹配实际的括号符号。
  • 前缀限定过紧:你的正则要求目标内容必须紧跟purpose, ,如果其中一行的符合条件内容(比如(TNR)/(NCH)/(CSU))不是在这个前缀之后,就会被过滤掉,这就是少一行的核心原因。
修复方案

根据你的实际需求选择对应的正则:

  1. 仅匹配含(XXX)格式的行(不限位置):
    直接匹配括号加三位大写字母的格式,用这个SQL条件:
    WHERE your_text_column ~ '\([A-Z]{3}\)'
    
  2. 必须匹配purpose, (XXX)格式的行:
    把前缀和转义后的括号都加入正则,确保完全匹配目标格式:
    WHERE your_text_column ~ 'purpose, \([A-Z]{3}\)'
    

PostgreSQL的~操作符默认区分大小写,刚好适配你匹配大写字母的需求,不需要额外调整。用上面的正则就能匹配到所有3行符合要求的内容。

内容的提问来源于stack exchange,提问作者F. Y.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 14:25:29