我正在做关于正则表达式的作业,并且遇到一些困难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 时,它不起作用。
任何帮助,将不胜感激。
阅读regex https://docs.python.org/2/library/re.html#regular-expression-syntax here:
print re.findall(r'(t\d+).*?(s|go)\D*(\d*)\D*(\d*)', s)
Output:
[('t3', 'go', '123', '77')]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)