Регулярное выражение
должно соответствовать nm, nm1, которое работает с ниже регулярного выражения. Но есть ли лучший способ написать это регулярное выражение? любезно предлагаю.
import re
# P = re.compile(r'SEE (?:FIG.|FIGURE)( |)(\d+[A-Z]*) FOR DET')
nm = '• UNIT G1 SEE FIGURE 3 FOR DET SEE FIGURE 4 FOR DET'
nm1 = '•\nUNIT G1\nSEE\nFIGURE 3\nFOR DET\nSEE\nFIGURE 4\nFOR DET'
P1 = re.compile(r'SEE( |\n)(?:FIG.|FIGURE)( |\n)(\d+[A-Z]*)( |\n)FOR( |\n)DET')
for match in P1.finditer(nm):
print(match.group(3))
for match in P1.finditer(nm1):
print(match.group(3))
Ожидаемый результат: 3 4 3 4