Как вертикальные полосы литерала определяют формальное регулярное выражение в python?

Согласно документу python, литерал с вертикальными чертами используется как оператор «или». Он соответствует A | B, где A и B могут быть произвольными RE.

Например, если регулярное выражение имеет следующий вид: ABC | DEF , соответствует таким строкам:

«ABC», «DEF»

Но что, если я хочу сопоставить строки следующим образом:

«ABCF», «ADEF»

Возможно, что я want - это что-то вроде A (BC) | (DE) F , что означает:

  • сначала соответствует «A»,
  • затем строка «BC» или «DE»,
  • затем char » F ".

Я знаю, что приведенное выше выражение неверно, поскольку квадратные скобки в регулярном выражении имеют другое значение, просто чтобы выразить мою идею.

Спасибо!

5
задан xiao 啸 13 May 2011 в 07:25
поделиться