我有一个扫描文本,这些文字中可能有一些垃圾字符。垃圾字符通常不是字母数字或标点符号。
我有以下正则表达式:
garbage_pat = re.compile(r"(\w*(?P<and>[^a-zA-Z0-9_ \t\n\r\f\v,.?!;:])+[\w(?P=and)]*)")
此正则表达式正确找到包含一个垃圾字符的单词。如果有两个或更多垃圾字符,则正则表达式正在拆分单词。 例如,aut~mo¤il将分为两个单词。当它包含两个或多个垃圾字符时,如何让我的正则表达式返回整个单词。
答案 0 :(得分:1)
您似乎正在寻找这样的表达式:
(\w*(?:[^a-zA-Z0-9_ \t\n\r\f\v,.?!;:]\w*)+)