python - 为什么下面的正则表达式代码返回逗号 (,)

标签 python regex python-2.7

请告诉我为什么以下代码会给出以下结果

>>> pattern = re.compile(r'[!#$%&()*+-.]')
>>> pattern.findall("a,b")
[',']

re.compile方法中没有逗号(,),为什么匹配的也是逗号?

最佳答案

[+-.] 是从 + (ASCII 43) 到 . (ASCII 46) 范围内的单个字符。

在这两个字符之间,您可以找到 , (ASCII 44) 和 - (ASCII 45)。

我猜你想要 \- 而不是 -

关于python - 为什么下面的正则表达式代码返回逗号 (,),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30259636/

相关文章:

python - tkinter 圆形按钮有白色边框

python坐标变换/插值可能吗?

python - 根据子字符串在日志文件中查找特定行 - Python

python - 可以将函数作为参数传递到对象的方法中,该函数可以引用该对象吗?

Python:列表类型转换的元组如何工作?

python - 阻止值在每次字典迭代中递增

预分配列表时的 Python 类型转换

python - 在命令行中捕获 RTSP

regex - 如何在 Oracle 11g regexp_substr 函数中使用两个定界符拆分字符串

php - 正则表达式(在 PHP 中)匹配 & 不是 HTML 实体