Skip to main content
 首页 » 编程设计

python之在 python 正则表达式中使用 OR 的最佳方法是什么

2024年08月23日28落叶无声

我正在做有关正则表达式的作业,但在 OR 方面遇到了一些困难。 给定以下字符串:

avc7fsrd5vcc12vfscsrwt1qw7eetrs&fsrsy 

should return t1 s

fdjhads jhf&5672t3zcxvb,m654godjhfjdyeuyr123jfjjdjfjdfj77djsfhdjhfdsf99  

should return t3 go 123 77

第一部分是用一些数字提取 t,然后提取 s 或 go 取决于先到的。如果成功,那么我们需要在后面提取两个数字,否则停止。

这是我正在使用的正则表达式

 '(t[0-9]).*?(go).*?([0-9]+).*?([0-9]+)|(t[0-9]).*?(s)' 

但是当我将 s 添加到第二个字符串并提取 go 而不是 s 时它不起作用。

如有任何帮助,我们将不胜感激。

请您参考如下方法:

了解 regex这里:

print re.findall(r'(t\d+).*?(s|go)\D*(\d*)\D*(\d*)', s) 

输出:

[('t3', 'go', '123', '77')]