这些问题要求使用正则表达式来突出显示后面没有标准西方或中文数字字符的通用中文分类词。例如:“我有一个苹果,他有3个橙子”,应该突出显示“个”而不是“3个”。我的代码突出显示整个文本。我要做什么改变?
这就是我所拥有的:
text = regex.sub(r'(?V1)(?<![0-9一二三四五六七八九十百千万亿兆])个', fr'{s}\g<0>{e}', text)
您刚刚的正则表达式顺序错误,如果您将所需的字符移到否定向后查找的前面,那么它仅匹配您指定的字符:
个(?![0-9一二三四五六七八九十百千万亿兆])
您可以在此处观看现场演示。