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

标签 python regex python-2.7 python-2.x

我正在做关于正则表达式的作业,并且在使用 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')]

关于python - 在 python 正则表达式中使用 OR 的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35282775/

相关文章:

python - 用于重命名 Jupyter 实验室笔记本的键盘快捷键

python - 正则表达式匹配除字符串以外的所有内容

regex - 当用户输入右侧时,将 ee 修饰符安全地与 s///运算符一起使用

python - Python strip( ) 函数出错

python - 基于诗人 tensorflow 的图像分类器再训练期间运行retrain.py时出错

python - 我在 Django 应用程序中的哪里注册 rq-scheduler 作业?

python - 为 LightGBM 提供额外的自定义指标以实现提前停止

javascript - javascript正则表达式中的后视断言语法错误

python - 如何获取Google YouTube API方法列表?

python - 给定一个长字符串,在字典中查找匹配的字符串