如何匹配所有字母数字字符和下划线,加号​​,减号和小数点?

时间:2015-10-15 14:06:23

标签: python regex python-2.7

我正在尝试使用来自计算机的字符串来创建文件夹和文件名。该机器是晶圆探测器。该文件夹和文件可以存在于Windows和Linux OS上。 如何删除除+, - ,。,_之外的所有字符以及(Iron)Python中带正则表达式的所有字母数字字符?到目前为止,我得到了以下内容。但那不包含。, - 或+。

>>> re.sub(r'[\W]+', '', ':LOT002_Temp<3.00000E+01>')
'LOT002_Temp300000E01'

我希望答案如下:

'LOT002_Temp3.00000E+01'

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

您可以使用基于否定的角色类:

re.sub(r'[^\w.+-]+', '', ':LOT002_Temp<3.00000E+01>')
'LOT002_Temp3.00000E+01'

[^\w.+-]将匹配非+-.的任何非单词字符。

答案 1 :(得分:0)

使用http://rubular.com/它们非常适合原型制作正则表达式

$ python
>>> import re
>>> re.sub(r'[^\w\+\.]+' , '', ':LOT002_Temp<3.00000E+01>')
'LOT002_Temp3.00000E+01'