自然语言处理中的预处理与特征工程
1. 高级正则表达式
正则表达式有一些高级概念非常实用,其中前瞻(lookahead)和后瞻(lookbehind)用于从数据中找出子字符串模式。
1.1 正向前瞻
正向前瞻用于匹配字符串中,后面跟随特定模式的子字符串。其语法为 (?=pattern) 。
例如,对于句子 “I play on the playground.”,若想提取 “play” 这个模式,但仅当它后面跟着 “ground” 时,可以使用正向前瞻。正则表达式 rplay(?=ground) 会匹配 “play”,但仅当它后面是 “ground” 时,所以文本字符串中的第一个 “play” 不会被匹配。
1.2 正向后瞻
正向后瞻用于匹配字符串中,前面有特定模式的子字符串。其语法为 (?<=pattern) 。
例如,对于句子 “I play on the playground. It is the best ground.”,若想提取 “ground”,但仅当它前面是 “play” 时,可以使用正向后瞻。正则表达式 r(?<=play)ground 会匹配 “ground”,但仅当它前面是 “play” 时。
1.3 负向前瞻
负向前瞻用于匹配字符串中,后面绝对不跟随正则表达式中定义模式的字符串。其语法为 (?!pattern) 。
例如,对于句子 “I play o
超级会员免费看
订阅专栏 解锁全文
885

被折叠的 条评论
为什么被折叠?



