2016-07-14 1 views
0

У меня есть PERL скрипт, который проверяет SVN журнал и извлечь сообщение фиксации и проверки для фиксации формата сообщения, как показано ниже:Perl шаблону проблемы при проверке

TAL: 12345, JIRA: QC-11115, BBC: ACR-12334 
Program: Some definite name 
Reviewer: committer name or his employee ID (5digits) 
Description: Some relevant description 

ИЛИ

JIRA: ABC-123 
Program: Some definite name 
Reviewer: committer name or his employee ID (5digits) 
Description: Some relevant description: 
- Some more relevant description 
- Much relevant description 

комментарии извлечены и сохранены в массиве - @my_comments и доступны как ниже

 if (($my_comments[$j] =~/(((JIRA|TAL|BBC):\s{0,2}[A-Za-z0-9-]{4,15},{0,1}\s{0,2}){1,5})\nProgram:\s{0,2}[A-Za-z]{3,20}\nReviewer:\s{0,2}[A-Za-z0-9\s]{4,40}\nDescription:\s{0,2}[A-Za-z0-9\s].*/)) 

    {  print "GOOD"; 
      $compliance = "YES"; 
    } 
    else 
    {  print "FAILED"; 
      $compliance = "NO"; 
    } 
push @my_Compliance,$compliance; 
..... 

Кроме того, FYR

print "ARRAY COMMENTS:$my_comments[$j]\n"; 

дал выход, как показано ниже, как и ожидалось

TAL: 12345, JIRA: QC-11115, BBC: ACR-12334 
Program: Some definite name 
Reviewer: committer name or his employee ID (5digits) 
Description: Some relevant description 

Итак, я подозреваю, что проблема с моей сопоставления с образцом. Любые предложения, пожалуйста.

ответ

1

Ваш шаблон Program:\s{0,2}[A-Za-z]{3,20} не допускает пробелов, в то время как ваш образец ввода Program: Some definite name имеет некоторые. Добавление пробелов в шаблон должно решить проблему: https://regex101.com/r/iA8kE9/1.

+0

Спасибо, что исправил проблему. –

Смежные вопросы