比如从一个字符串中的多个name后面提取出多个名字,从多个password后面提取出密码,应该怎么实现呢?就算有办法,怎样记录现在已经解析到哪里了呢?
别什么都指针,只要有获取字符串第i个字符的功能就不需要指针了。######回复 @qinuxman : http://www.oschina.net/question/89964_40271 查找那一系列都有start和end。######回复 @小郭一号 : 可是python里面有关的字符串处理函数没有设定偏移位置的参量######回复 @小郭一号 : 说得好,本质还是用一个变量才存着位置的。######回复 @qinuxman : 用一个i保存解析到的位置,再用一个j往下解析。指针表示一个位置,整数同样能表示位置,有啥男的?######可是有时候需要记录已经解析到的位置,然后从这个位置再往下解析,这在python中怎么实现呢?在c/c++里面就很明显的啊######正则提取即可
In [1]: s = "name: tom password: 123 name: jack password: 456 name: john password: 789 name: tiger password: 012 "
In [2]: s Out[2]: 'name: tom password: 123 name: jack password: 456 name: john password: 789 name: tiger password: 012 '
In [3]: import re
In [6]: re.findall(r'name: (.*?) password:', s) Out[6]: ['tom', 'jack', 'john', 'tiger']
In [10]: re.findall(r'name: .? password: (.?) ', s) Out[10]: ['123', '456', '789', '012']
c = re.compile(r'name:\s+(\w+)\s+password:\s+(\w+)')
python里的字符串可以作为列表来操作的,如果需要使用偏移量操作的话,用[:]
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。