Python中的正则表达式从字符串中剪切信息

时间:2015-11-02 09:48:47

标签: python regex sed

我尝试从字符串中获取信息:

  

008 _ X41 下,的 008 _20150831_2N,的 008 _ X41 - 22时43分 -008_20150831_2N

我需要剪切粗体部分。我试着这样说:

re.search("(X[\d]*).*([0-9][0-9]:[0-9][0-9])-([09]{3})_",trip[2])

但是它无法从我需要的所有行中删除(我每次都使用trip[2]中的新行调用。)

当我使用sed时,我写道:

s/\(X[0-9]*\).*[^0-9]\([0-9]{3}\)[^0-9].*\([0-9][0-9]:[0-9][0-9]\).*/ \1 \2 \3/g

如何在python中执行此操作?

2 个答案:

答案 0 :(得分:2)

使用re.sub

re.sub(r'(X[0-9]*).*[^0-9]([0-9]{3})[^0-9].*([0-9][0-9]:[0-9][0-9]).*', r' \1 \2 \3', strin)

答案 1 :(得分:1)

尝试使用此sed命令

sed 's/\([^,]\+,[^_]\+\)[^,]\+,\([^:]\+:[0-9]\{2\}\).*/\1 \2/' FileName

<强>输出:

008_X41,008 008_X41-22:43