如何从列表中描述的命令行中准确删除特定的关键字?

问题描述

我应该使用命令行参数将内容保存为关键字或(这是我的问题;删除关键字)

嘿,我已经研究了类似的问题。但是,我看不出为什么它在我的程序中不起作用。每次我使用python mcb.py删除一个。它仍然出现。我无法删除它。希望你能帮我这个忙

#! /usr/bin/env python3

import sys,pyperclip,shelve

mcbShelf = shelve.open('mcb')

if len(sys.argv) == 3 and sys.argv[1].lower() == 'save':
    mcbShelf[sys.argv[2]] = pyperclip.paste()
elif len(sys.argv) == 2:
    if sys.argv[1].lower() == 'list':
        pyperclip.copy(str(list(mcbShelf.keys())))
    elif sys.argv[1] in mcbShelf:
        pyperclip.copy(mcbShelf[sys.argv[1]])
    elif len(sys.argv)==3 and sys.argv[1].lower() == 'delete':
        #del mcbShelf[sys.argv[2]]
        mcbShelf.pop(sys.argv[2])
        #mcbShelf.clear()
#mcbShelf.pop(sys.argv[2])
mcbShelf.close()

解决方法

我认为您正在寻找(Telefon:.\/\s)?(\+)\d{2}\s\d{2}\s\d{3}\s\d{5}。这会将Telefon移到一个单独的组(从字面上匹配整个组),而不是一个字符集(与该集中的任何字符匹配)。 +也需要转义。