KNIME正则表达式

正则表达式

正则表达式(Regular Expression,简称regex、regexp或PE)用于描述一组字符串特征的表示式,用来匹配特定的字符串。它也是通过特殊字符和普通字符一起来进行表达式描述,从而达到文本匹配目的工具。它可以应用于文本编辑与处理、网页爬虫等场合,可以快速、准确地完成复杂的查找、替换等处理要求。
正则表达式就是用来进行文本匹配的工具。例如像“0086-12345678901”或“0127-10987654321”这样的文本,所有的都是以0开头,后面跟着2-3个数字,然后是连字符“-”,最后是11数字的字符串,可以用正则表达式“0\d{3}-\d{11}”进行匹配。其中的“\d”、“{}”是正则表达式规定的一些特殊字符,也被称为元字符(metacharacter),代表着特殊含义。常用元字符如
在这里插入图片描述
例如,中国居民身份证是18位数字组成,也有尾号是X的,则表示中国居民身份证的正则表达式为d{17}([0-9]|X)。例2,中文日期的书写方式很多,常见的有:
1)2020年4月8日
2)2020/4/8
3)2020-4-8
4)2020-04-08
5)2020-04
6)2020年4月
可以用正则表达式统一书写为(\d{4}[年/-]\d{1,2}([月/-]|KaTeX parse error: Undefined control sequence: \d at position 4: ) (\̲d̲{1,2}(日|)|$))。

正则表达式的含义可以通过图示学习和理解,这里提供一个不错的网站,本实验中对正则表达式的解释用图也来自这个网站。网址如下:正则表达式学习网站

文档过滤

假设现在有一篇文章需要分析,但是文章中有很多干扰信息需要被过滤。这些干扰信息很多,但是具有一定的规律。例如都是由“新浪新闻”、“新浪教育”、“新浪”组成,那么我们可以考虑通过正则表达式来一次性过滤掉这些干扰项。
在这里插入图片描述

  1. 使用“Word Parser”节点输入Word格式的文档
    在这里插入图片描述
  2. 使用“Replacer”节点删除干扰信息。在“Replacement options”标签栏的“Regular expression”一栏填入用于过滤的正则表达式“新浪(新闻|教育|)”。节点的设置如下:
    在这里插入图片描述

正则表达式的含义如下(因为网页无法显示中文,所以用拼音表示):
在这里插入图片描述

结果显示如下
在这里插入图片描述

字符串分割

假设现在有一批数据,例如“US5443036-X21”。现在需要将这一串字符串分割成三部分:两个字母的国家代码(“US”)、专利号(“5443036”)和可能的一些申请代码(“X21”)。
在这里插入图片描述

  1. 使用“File Reader”节点读入数据,结果显示如下。在这里插入图片描述
  2. 使用“Regex Split”节点分割数据。在“Settings” 选项卡的“Pattern”一栏中填入用于分割的正则表达式“([A-Za-z]{1,2})([0-9])[-](.*$)”,具体设置如下
    在这里插入图片描述
    该表达式的含义可用下图表示:
    在这里插入图片描述
    结果显示如下:
    在这里插入图片描述
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶老师讲大数据

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值