匹配没有字母a的字符串

时间:2018-04-26 10:25:03

标签: python regex

如何匹配作为字母a的2个标记的单词部分和有效单词。

例如;

  • '一只狗'会回归'狗'。
  • '梨'会回归'梨'

我目前正在浏览一个大型数据集,并希望在我的机器学习分类器中删除不必要的字母,但字母a在我的2个单词中算作一个单词。

如何在没有正则表达式的a的情况下返回单词?

4 个答案:

答案 0 :(得分:1)

此正则表达式捕获每个aan,后跟一个空格。它还检查a&前面是否没有字母。 an或者如果它是字符串中的第一个字母。

(?:[^A-z]|^)(a|A|an|An)\s

这基本上应涵盖每个语法正确的文本。

答案 1 :(得分:0)

这个人会这样做,使用积极的lookbehind:

(?<=a\s)\w+

答案 2 :(得分:0)

使用regex替换a。结果将是一个没有a字的字符串:

import re
s = 'a dog'
removed_a = re.sub(r'\ba \b', '', s)

请注意,\b符合字边界。所以上面只匹配单词a并替换它。

答案 3 :(得分:0)

您可以使用字词边界\b来匹配a而不是testa dog中的字符,然后匹配空格并在第1组(\w+)中捕获该字后面的字词。

对于替换,您可以使用第一个捕获组:

\ba\b (\w+)

Demo