Python正则表达式似乎错误地匹配字符串

时间:2018-01-23 00:36:08

标签: python regex

我一直试图在python中使用正则表达式来匹配单个标点符号或它们的组。例如,我想分割标点符号,例如'!?!'只是' @'。

我有以下正则表达式:(["#$%&()*+,-/:;<=>@[\]^_`{|}~]|[.?!]+),它主要执行我想要的操作,但它似乎单独捕获句点(因此我得到. . .而不是...

我不明白的是,如果我将,字符放在第一个[]组中的其他位置,它就可以正常工作......即使只有一个字符左右。

那里有一些意义吗?当我拥有它时,为什么它不能正常工作? (取自string.punctuation

提前致谢。我已经四处寻找,无法找到任何东西......所以希望这不是一个愚蠢的问题......

1 个答案:

答案 0 :(得分:3)

在字符类(正则表达式中的方括号语法)中,连字符表示一系列字符。您的方括号中有,-/,表示它将与, - . /

中的任何一个匹配