Python 正则表达式模式以查找不同顺序的单词

Python 正则表达式模式以查找不同顺序的单词,python,regex,Python,Regex,我有以下字符串: 随机单词12袋1.5盎司(42克)随机单词->我想要:12袋1.5盎司(42克) 或 随机单词1.5盎司(42克)12袋随机单词->我想要:1.5盎司(42克)12袋 所以我需要一个模式来匹配: 1.5盎司 42g 12袋 我有一个模式可以匹配他们三个,但只有一个。问题是它们在同一个字符串中且顺序不同 我认为这与向前看和向后看有关。我不使用向前看和/或向后看 import re x = "random words 12 pouches 1.5oz (42g) ra

我有以下字符串:

随机单词12袋1.5盎司(42克)随机单词->我想要:12袋1.5盎司(42克)

随机单词1.5盎司(42克)12袋随机单词->我想要:1.5盎司(42克)12袋

所以我需要一个模式来匹配:

  • 1.5盎司

  • 42g

  • 12袋

我有一个模式可以匹配他们三个,但只有一个。问题是它们在同一个字符串中且顺序不同


我认为这与向前看和向后看有关。

我不使用向前看和/或向后看

import re
x = "random words 12 pouches 1.5oz (42g) random words"
patt = re.compile("(\d+(?:\.\d+)?(?:\spouches|oz|g))")
print(patt.findall(x))

谢谢@Transamunos,成功了。我认为我需要使用“向前看”和“向后看”