首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >验证时的Perl模式匹配问题

验证时的Perl模式匹配问题
EN

Stack Overflow用户
提问于 2016-07-14 10:46:23
回答 1查看 40关注 0票数 0

我有perl脚本,它检查SVN日志,提取提交消息并验证提交消息格式,如下所示:

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

代码语言:javascript
复制
 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中,并按如下方式访问

代码语言:javascript
复制
        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

代码语言:javascript
复制
print "ARRAY COMMENTS:$my_comments[$j]\n";

按预期提供的产出如下

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

所以,我怀疑问题在于我的模式匹配。请给我任何建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-14 11:08:29

您的Program:\s{0,2}[A-Za-z]{3,20}模式不允许空格,而输入示例Program: Some definite name有一些空格。在模式中添加空格可以解决这个问题:https://regex101.com/r/iA8kE9/1

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38372158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档