【发布时间】:2016-05-18 21:22:40
【问题描述】:
我正在做一个关于正则表达式的作业,并且在使用 OR 时遇到了一些困难。
给定以下字符串:
avc7fsrd5vcc12vfscsrwt1qw7eetrs&fsrsy
应该返回 t1 s
fdjhads jhf&5672t3zcxvb,m654godjhfjdyeuyr123jfjjdjfjdfj77djsfhdjhfdsf99
应该返回 t3 go 123 77
第一部分是用某个数字提取 t 然后提取 s 或 go 取决于先出现的内容。如果成功,那么我们需要在之后提取两个数字,否则停止。
这是我正在使用的正则表达式
'(t[0-9]).*?(go).*?([0-9]+).*?([0-9]+)|(t[0-9]).*?(s)'
但是当我将 s 添加到第二个字符串并提取 go 而不是 s 时,它不起作用。
任何帮助将不胜感激。
【问题讨论】:
-
then we need to extract two numbers afterward在什么之后? -
第二个样本
t3...go...123...77因为 654 在go之前
标签: python regex python-2.7 python-2.x