地震会商技术系统地震数据专家[DataEQ]

DatistEQ之分组替换函数

2020-11-22  本文已影响0人  了无_数据科学

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。因此,正则表达式也就成为了,文本处理中的不可或缺的利器。

数据专家中正则表达式相关函数有很多,如Match、IsMatch、MatchGroup等。本文给大家介绍一下,ReplaceReg函数分组替换相关的几个应用案例。

一、函数说明

ReplaceReg(String, RegexString, RepString)
函数说明:根据正则表达式,替换指定的匹配内容。

正则表达式中()是代表分组
例如:(\d{1})(\d{1}) 整个表达式是第一组,第一个括号是第二组,第二个括号是第三组。提取方式跟数组一样
ReplaceReg中通过$0、$1、$2……等代表分组,所以上面$2代表第三组。

二、修改书写格式

表达式:
ReplaceReg( '13772252427' , '([0-9]{3})([0-9]{4})([0-9]{4})' , '$1-$2-$3' )
ReplaceReg( '13772252427' , '(\d{3})(\d{4})(\d{4})' , '$1-$2-$3' )
输出:137-7225-2427

表达式: ReplaceReg( '于1970-2-1出生' , '(\d{4})-(\d{1,})-(\d{1,})' , '$1年$2月$3日' )
输出:于1970年2月1日出生

表达式:ReplaceReg( "Hello 'welcome' to 'china'" , "'(.+?)'","[$1]")
输出:Hello [welcome] to [china]

三、调整文字顺序:

表达式:ReplaceReg( '02/25/1988' , '([0-9]{2})/([0-9]{2})/([0-9]{4})' , '$3-$1-$2' )
输出:1988-02-25

表达式: ReplaceReg( '于1970-2-1出生,1980-7-5上小学' , '(\d{4})-(\d{1,})-(\d{1,})' , '$1年$2月' )
输出:于1970年2月出生,1980年7月上小学

四、文本加密处理:

表达式: ReplaceReg( '李幸13772252427' , '([0-9]{3})([0-9]{4})([0-9]{4})' , '$1****$3' )
输出:李幸137****2427

表达式:ReplaceReg( '123456789@qq.com' , '(.+?)@' , '*****@' )
输出:*****@qq.com

表达式:ReplaceReg( '你aaa好aa哈哈a' , 'a+' , 'A' )
输出:你A好A哈哈A

小结

数据专家中的正则表达式,应用遵循一般的正则表达式的书写与应用规则,正则表达式奥义深远,用法精妙。希望本文通过几个初浅的案例,能给大家一点启发,起一个抛砖引玉的作用。

上一篇下一篇

猜你喜欢

热点阅读