匹配除值列表之外的任何值 – oracle正则表达式
发布时间:2021-01-16 21:34:45 所属栏目:站长百科 来源:网络整理
导读:我必要一个与ABCD_EFG_YYYYMMDD_HH(24)MISS.csv名目标文件名匹配的Oracle正则表达式,除非时刻部门是三个特定值之一:110000,140000或180000. 因此,譬喻,它将匹配文件名ABC_DEF_20120925_110001.csv,但不匹配文件名ABCD_EFG_20120925_110000.csv. 以下非Oracl
我必要一个与ABCD_EFG_YYYYMMDD_HH(24)MISS.csv名目标文件名匹配的Oracle正则表达式,除非时刻部门是三个特定值之一:110000,140000或180000. 因此,譬喻,它将匹配文件名ABC_DEF_20120925_110001.csv,但不匹配文件名ABCD_EFG_20120925_110000.csv. 以下非Oracle正则表达式有用: ^ABCD_EFG_[0-9]*_(?!110000|140000|180000)[0-9]*.csv$ 但我不知道怎样把它写成Oracle正则表达式. 办理要领Oracle不支持超前断言,因此您必需拼出全部有用匹配:^ABCD_EFG_[0-9]*_([02-9]|1[0235679]|1[148]0{0,3}[1-9])[0-9]*.csv$ 应该事变(假设时刻部门老是6位数). 声名: ABCD_EFG_ # Match ABCD_EFG_ [0-9]*_ # Match first number (date part) and _ ( # Match a number that starts with [02-9] # 0 or 2-9 | # or 1[0235679] # 1,followed by 2,3,5,6,7,or 9 | # or 1[148] # 11,14,or 18 0{0,3} # followed by up to three zeroes [1-9] # but then one digit 1-9 ) # End of alternation [0-9]* # Fill the rest with any digits .csv # Match .csv (mind the backslash!) (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐
热点阅读