我有以下表达式
diff_pr_EUR-44_cordex_rcp45_mon_ave_2048-2060_minus_2005-2017_mon10_ave1_withsd.nc
我想使用regex
提取并生成以下字符串
rcp45_mon10
到目前为止,我已经在网上regex tester上试过了
rcp\d\d[^.]+mon\d+
比我需要的更多
rcp45_mon_ave_2048-2060_minus_2005-2017_mon10
如何让regex跳过后面的字符,直到到达mon10
部分
谢谢
Tags:
您可以在这里使用
re.sub
:RegEx Demo
详情:
^.*?
:在开始处匹配0或任意字符(lazy)(rcp\d+)
:匹配并捕获rcp
,在第1组中后跟1+个数字.*
:匹配0或任意字符(贪婪)(_mon\d+)
:匹配并捕获_mon
,后跟第2组中的1+个数字.*
:匹配任何内容直到结束r'\1\2'
:用组#1和组#2的反向引用替换字符串您可以使用两个匹配组和
join
进行匹配:相关问题 更多 >
编程相关推荐