1、oracle-正则表达式:将'09/29/2008' 用正则表达式转换成2008-09-29
select regexp_replace('09/29/2008', '^([0-9]{2})/([0-9]{2})/([0-9]{4})$', '\3-\1-\2') replace
from dual;
解析:regexp_replace-替换,
第一个参数:需要进行处理的字符串
第二个参数:需要进行处理的字符串的所匹配的正则表达式
第三个参数:需要替换的的表达式
09/29/2008 该字符串由3部分组成。
数字(2位)/数字(2位)/数字(4位) -正则表达式匹配:^代表以什么开头 $以什么结尾
每一组以括号括起来,代表的是一组
^([0-9]{2}) / ([0-9]{2}) / ([0-9]{4})$
第一组后续会用\1表示 / 第二组,以\2 表示 /第三组 以\3表示
替换的表达式:\3-\1-\2 :表示第3组的表达式-第1组表达式-第2组表达式
2、文件匹配
用一个表达式匹配以下所有文件
经分析PM_是固定的,有SMF,AMF,UPF三个匹配项
SMFFUNCTION,AMFFUNCTION,UPFFUNCTION 有三个匹配项,
每个下面又有2个匹配项。
SMF|AMF|UPF :|表示或者的关系
(SMF|AMF|UPF):代表一组,SMF或者AMF或者AMF
EastCom_75101_PM_(SMF|AMF|UPF)_((SMFFUNCTION-(DNN|NS))|(AMFFUNCTION-(NS|TA))|(UPFFUNCTION-(NS|DNN)))_.*\.csv
PM_SMF_SMFFUNCTION-DNN_15M_20230719110000_20230719112125420.csv
PM_SMF_SMFFUNCTION-NS_15M_20230719110000_20230719112125420.csv
PM_AMF_AMFFUNCTION-NS_15M_20230719110000_20230719112050487.csv
PM_AMF_AMFFUNCTION-TA_15M_20230719110000_20230719112129903.csv
PM_UPF_UPFFUNCTION-NS_15M_20230719110000_20230719112125740.csv
PM_UPF_UPFFUNCTION-DNN_15M_20230719110000_20230719112350088.csv