我想我应该使用正则表达式匹配我文件中的内容。
我想替换w=<DIGIT>
的所有序列,例如我想要实现的是很多
s.replace('w=99923123','')
s.replace('w=23123','')
s.replace('w=123','')
所以我想知道你是否可以建议一个与我的表达相匹配的正则表达式?
更新
我尝试了显而易见的事情似乎正常工作
>>> import re
>>> s='m=2&w=3'
>>> s=re.sub('w=\d', '', s)
>>> s
'm=2&'
答案 0 :(得分:3)
import re
pat = re.compile('w=[0-9]+') # or you can use \d+
s = pat.sub('', s)
然后你需要注意,如果这是一个更复杂的,我的正则表达式匹配tw = 123, 和tw = 123a456,但没有做你想要的。相反,也许你根本不应该使用正则表达式(如果你有问题,然后使用正则表达式,你现在有2个问题,他们说)。 你可以试试这个:
import urlparse
import urllib
s = 'w=123&q=456&tw=123&w=123abc&foo=bar&w=12'
# s here must be key=value&key=value only
parsed = urlparse.parse_qsl(s, keep_blank_values=True)
filtered = [ i for i in parsed if not (i[0] == 'w' and i[1].isdigit()) ]
s = urllib.urlencode(filtered)
值得注意的是,它只删除那些值只包含数字的w =值对。