Python RegEx异常

时间:2010-05-04 03:12:25

标签: python regex

除了撇号之外,我如何拆分所有非字母数字字符?

re.split('\W+',text)

有效,但也会在撇号上分开。如何为此规则添加例外?

谢谢!

3 个答案:

答案 0 :(得分:3)

试试这个:

re.split(r"[^\w']+",text)

注意w现在是小写的,因为它代表所有字母数字字符(请注意,它包含下划线)。字符类[^\w']指的是^)字母数字(\w)或撇号的任何内容。

答案 1 :(得分:2)

re.split(r"[^\w']+",text)

通过使用^启动字符类,它会反转定义,因此[^\w'][\w']的倒数,它将与字母数字/下划线/撇号匹配。

答案 2 :(得分:0)

这里的答案不起作用,因为“引用的”单词不会被删除撇号。

对我有用的是

re.split(r"\W'+|^'+|'+\W|'$|[^\w']+", text)

即。删除:

非单词OR后的

撇号 撇号在行开始或 非词OR之前的撇号 当前的解决方案