Python 匹配不带字母a的字符串

Python 匹配不带字母a的字符串,python,regex,Python,Regex,如何匹配字母a和有效单词这两个标记的单词部分 比如, “狗”将返回“狗” “一个梨”将返回“梨” 我目前正在查看一个大型数据集,希望在我的机器学习分类器中删除不必要的字母,但字母a在我的2个单词中被算作一个单词 如何在正则表达式中返回没有a的单词?这一个将使用正向查找: (?<=a\s)\w+ (?使用regex替换a。结果将是一个没有a单词的字符串: import re s = 'a dog' removed_a = re.sub(r'\ba \b', '', s) 请注意,\b

如何匹配字母
a
和有效单词这两个标记的单词部分

比如,

  • “狗”将返回“狗”
  • “一个梨”将返回“梨”
我目前正在查看一个大型数据集,希望在我的机器学习分类器中删除不必要的字母,但字母
a
在我的2个单词中被算作一个单词


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

这一个将使用正向查找:

(?<=a\s)\w+

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

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

请注意,
\b
匹配单词边界。因此,上面只匹配单词
a
并替换它。

您可以使用单词边界
\b
来匹配
a
而不是
测试狗中的a,然后匹配空格并在第1组
(\w+
中捕获后面的单词

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


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

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

这基本上应该涵盖所有语法正确的文本。

请添加其他输入字符串示例及其相应的验证。目前,如果“狗”中的“狗”,您可以简单地使用
措词不当-我的意思是什么应该匹配,什么不匹配。