В предыдущий вопрос , я задал несколько подходящих шаблонов.Теперь мой вопрос:
У меня есть несколько подходящих шаблонов:
$text =~ m#finance(.*?)end#s;
(1)
$text =~ m#<class>(.*?)</class>#s;
(2)
$text =~ m#/data(.*?)<end>#s;
(3)
$text =~ m#/begin(.*?)</begin>#s;
(4)
Я хочу сначала сопоставить (1), (2) и (3).Однако после соответствия (1) или (2), если (4) появляется перед другим (1) или (2), то не совпадают (3), а только (4).Таким образом, внешний вид (4) исключает соответствие (3).Но в случае, если нет (4), (3) совпадает.Есть ли хороший способ сделать это?
Большое спасибо.