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

Oracle REGEXP_LIKE验证需求:仅允许D/T、数字及竖线|

Oracle REGEXP_LIKE 验证规则实现

针对你需要的验证规则,以下是符合要求的REGEXP_LIKE正则表达式方案:

REGEXP_LIKE(你的字段名, '^[DT](\|(-?\d+(\.\d+)?))+$')

正则规则拆解

  • ^[DT]:字符串开头必须是大写字母D或T
  • \|:匹配分隔符竖线|(正则中需转义,避免被当作逻辑或处理)
  • -?\d+(\.\d+)?:匹配合法数字格式:
    • -?:允许数字带负号(可选)
    • \d+:至少包含一位整数部分
    • (\.\d+)?:可选的小数部分,需满足「小数点+至少一位数字」的格式
  • (\|...)+:要求开头的D/T之后,必须跟一个或多个「竖线+合法数字」的组合,确保整个字符串符合D/T|数字|数字|...的结构

使用示例

假设你要验证表data_table中的content字段,查询符合规则的记录可执行:

SELECT content
FROM data_table
WHERE REGEXP_LIKE(content, '^[DT](\|(-?\d+(\.\d+)?))+$');

有效示例

D|1005433608369|202311220039403004157|2023112200394030041570002|0|-53|4157|20231122|30|394|820|2|0|0|0|0
D|1006233842021|202311220039403004160|2023112200394030041600001|1|0|4160|20231122|30|394|868|1|46002136|98|35|0
D|1006233842021|202311220039403004160|2023112200394030041600002|0|-63|4160|20231122|30|394|820|2|0|0|0|0
D|1004420222359|202311220039403004161|2023112200394030041610001|1|0|4161|20231122|30|394|868|1|45941436|108|54|0
D|1004420222359|202311220039403004161|2023112200394030041610002|0|-54|4161|20231122|30|394|820|2|0|0|0|0
D|1005557156227|202311220039403004187|2023112200394030041870001|1|0|4187|20231122|30|394|868|1|46189226|98|2

无效示例

T|2401|20231124|202311240240138702117|1015453705|5|193|00 A+%?Pu?Z?3<???

内容的提问来源于stack exchange,提问作者Efraín Chacón

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 05:58:39