Как мне написать лучшее регулярное выражение? - PullRequest
0 голосов
/ 04 мая 2020
Регулярное выражение

должно соответствовать 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

...