Python - 使用正则表达式查找带垃圾字符的单词

1 投票
1 回答
1223 浏览
提问于 2025-04-17 11:13

我有一段扫描的文本,里面可能夹杂了一些无用的字符。这些无用的字符通常不是字母、数字或者标点符号。

我有一个正则表达式:

garbage_pat = re.compile(r"(\w*(?P<and>[^a-zA-Z0-9_ \t\n\r\f\v,.?!;:])+[\w(?P=and)]*)")

这个正则表达式可以正确找到包含一个无用字符的单词。但是如果单词里有两个或更多的无用字符,正则表达式就会把单词拆开。比如说,"aut~mo¤il" 会被拆成两个单词。请问我该如何修改我的正则表达式,让它在单词中包含两个或更多无用字符时,仍然能返回整个单词呢?

1 个回答

1

看起来你在寻找这样的表达式:

(\w*(?:[^a-zA-Z0-9_ \t\n\r\f\v,.?!;:]\w*)+)

撰写回答