作者:FYJ
日常的工作中,我们熟悉文本查找替换功能,即按下 Ctrl-F,输入你要查找的词,程序会直接找出你查找词的位置。但如果你需要从庞大的数据中查找并进行处理,这会是十分枯燥且庞大的工作,而且前提是数据比较规则。例如你拥有一个大量的文本数据,需要提取所有的电话号码,人工识别时看到号码就知道: 415-5551234 是电话号码,但 4,155,551,234 不是,虽然工作很简单,但工作量十分庞大。对于有一定编程经验的人会想到“正则表达式”但如果不是程序员,很少可以直接使用它,实际上,FME转换器中有很多支持正则表达式,例如:StringSearcher,StringReplacer等,FME降低了使用难度,“在FME中知道[正则表达式]可能意味着用 3 步解决一个问题,而不是用 300 步。”FME使正则表达式不仅适用于程序员,也适用于无法编程的使用者。
例如我们在文本中提取电话号码,\d 是一个正则表 达式,表示一位数字字符,即任何一位 0 到 9 的数字。 使用\d\d\d-\d\d\d\d\d\d\d,就可匹配所有同样格式文本:3 个数字、一个短横线、7个数字,或者\d{3}-\d{7},如果部分电话号码没有区号,则:(\d\d\d)?-\d{7}