- 发帖可能变空内容,邪门暂不知所以然
- 『稷下学宫』新认证方式,24年网站打算和努力目标
主题:文问题,关于正则表达式 -- pastebt
问题的逻辑比较清楚。先判断a出现后,然后直到b出现之前的3都不要,就可以了。
代码参见 http://paste.pocoo.org/show/134757/
我也贴在下面一份,不熟悉如何在西西河设置代码格式了。
def replace(line, start = 'a', end = 'b', source = '3', target = ''):
IN = False
for ch in line:
if ch == start:
if not IN:
IN = True
yield ch
elif ch == end:
if IN:
IN = False
yield ch
elif ch == source and IN:
yield target
else:
yield ch
def main():
line = '1234a5635367312b563789'
print ''.join(list(replace(line)))
if __name__ == "__main__":
main()
## output 1234a5656712b563789
- 相关回复 上下关系8
🙂两个问题 pastebt 字385 2009-05-05 14:21:57
😜不同的平台对正则表达式支持的确不同 1 代码ABC 字627 2009-05-05 19:16:54
🙂谢谢,在python里面也弄出来了 pastebt 字95 2009-05-08 13:46:43
🙂不用正则也不错啊。
🙂这个有BUG吧? 潇湘夜雨 字137 2009-05-08 17:35:03
🙂恩,不过不重要了,呵呵 pastebt 字0 2009-05-08 22:03:05
🙂推荐一个学习正则表达式的连接 3 代码ABC 字792 2009-05-05 05:28:34
🙂你是不是想只用一个正则表达式来做这次替换? abadcafe 字329 2009-05-01 22:02:43