Я пытаюсь разобраться в регулярных выражениях и экспериментирую с некоторыми примерами, пытаясь увидеть, к чему это приведет. Я пытаюсь понять, как порядок элементов в OR (|) влияет на вывод следующего кода
Код: Выделить всё
import re
uni = "University of Sheffield"
first = re.findall(".*U|S.*U|S",uni)
second = re.findall(".*U|S.*S|U",uni)
third = re.findall(".*S|U.*S|U",uni)
если я напечатаю первую, вторую и третью переменную, я получу следующее
Код: Выделить всё
first -> ['U', 'S']
second -> ['U']
third -> ['University of S']
Я не понимаю, почему результат каждого из них такой, какой он есть. Я предполагал, что это должно быть то же самое, и это должно быть ['Университет S']. Мне было интересно, поможет ли мне кто-нибудь понять, почему в каждом из этих трех случаев это интерпретируется по-разному?
Спасибо!
Подробнее здесь:
https://stackoverflow.com/questions/791 ... n-differen